{"_id":"@adobe/target-cdn-experimentation-nodejs-sdk","_rev":"12-f233f0bb09da4a9714fc9e73244e0a19","name":"@adobe/target-cdn-experimentation-nodejs-sdk","dist-tags":{"latest":"1.0.0"},"versions":{"0.0.1":{"name":"@adobe/target-cdn-experimentation-nodejs-sdk","version":"0.0.1","author":"","license":"Apache-2.0","_id":"@adobe/target-cdn-experimentation-nodejs-sdk@0.0.1","maintainers":[{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"djaeggi","email":"djaeggi@adobe.com"},{"name":"dylandepass","email":"dylandepass@gmail.com"},{"name":"mhaack","email":"mhaack@adobe.com"},{"name":"amol-anand","email":"amol@adobe.com"},{"name":"stopp-adobe","email":"stopp@adobe.com"},{"name":"doten","email":"doten@adobe.com"},{"name":"duh_schmidt","email":"schmidt@adobe.com"},{"name":"asthabh23","email":"astha.bhargava23@gmail.com"},{"name":"zdahbi","email":"zouhir.dahbi@outlook.com"},{"name":"tuicu","email":"tuicu@adobe.com"}],"homepage":"https://github.com/adobe/target-cdn-experimentation-nodejs-sdk#readme","bugs":{"url":"https://github.com/adobe/target-cdn-experimentation-nodejs-sdk/issues"},"dist":{"shasum":"3efd92cf099d942bed75cef7f4077ab6267a8539","tarball":"https://registry.npmjs.org/@adobe/target-cdn-experimentation-nodejs-sdk/-/target-cdn-experimentation-nodejs-sdk-0.0.1.tgz","fileCount":5,"integrity":"sha512-uBsgvZnKV1Z8+KQpVh8z9PpjiYFqwC0I6ScPxH2OIsM+Xuqpdo5EafrXon/w2PwIepdu+KZyItK2mVPSY+fLKg==","signatures":[{"sig":"MEUCIQCfFOAxU+jDSLOBpefp7K18QrPPNHyYLUgp8y/4a0murQIgRX+Q2GaOzBLwB8oWxFZhSV6BiAjurMolz2v+W3IUe2I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":94432},"jest":{"transform":{}},"main":"lib/index.cjs.js","type":"module","types":"types/index.d.ts","module":"lib/index.esm.js","gitHead":"b3ac745e0c285c394f56d1c1a7637bd3a076b059","scripts":{"lint":"eslint --fix . --ignore-pattern '**/lib/**'","test":"NODE_OPTIONS='--experimental-vm-modules' jest --verbose --coverage","build":"NODE_ENV=production rollup -c rollup.config.mjs --bundleConfigAsCjs","start":"cd ./demo && node server.js","format":"prettier --ignore-path .prettierignore '**/*.js' --write","prebuild":"rimraf lib"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/target-cdn-experimentation-nodejs-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"Contains the build system and files specific to the NodeJS platform.","directories":{},"_nodeVersion":"20.18.3","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/target-cdn-experimentation-nodejs-sdk_0.0.1_1741966500014_0.7772706500104842","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@adobe/target-cdn-experimentation-nodejs-sdk","version":"0.0.2","author":"","license":"Apache-2.0","_id":"@adobe/target-cdn-experimentation-nodejs-sdk@0.0.2","maintainers":[{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"djaeggi","email":"djaeggi@adobe.com"},{"name":"dylandepass","email":"dylandepass@gmail.com"},{"name":"mhaack","email":"mhaack@adobe.com"},{"name":"amol-anand","email":"amol@adobe.com"},{"name":"stopp-adobe","email":"stopp@adobe.com"},{"name":"doten","email":"doten@adobe.com"},{"name":"duh_schmidt","email":"schmidt@adobe.com"},{"name":"asthabh23","email":"astha.bhargava23@gmail.com"},{"name":"zdahbi","email":"zouhir.dahbi@outlook.com"},{"name":"tuicu","email":"tuicu@adobe.com"}],"homepage":"https://github.com/adobe/target-cdn-experimentation-nodejs-sdk#readme","bugs":{"url":"https://github.com/adobe/target-cdn-experimentation-nodejs-sdk/issues"},"dist":{"shasum":"34d1b42669afd8f5b8601b9b4c9132985c6cde59","tarball":"https://registry.npmjs.org/@adobe/target-cdn-experimentation-nodejs-sdk/-/target-cdn-experimentation-nodejs-sdk-0.0.2.tgz","fileCount":5,"integrity":"sha512-ER0qw39xxB5VrkG3JHL9dgu8SWj4bZbBqTGnwxHcXyfC+3GhclXs5It15rDA5fE5HqroCJyM9UTqEaustxFKpw==","signatures":[{"sig":"MEYCIQCPSMJw7nmYmviWlq6y08j8BMIanL4APQoAbDFDcXSZwQIhAL80mrwSggkFMeIaP16v6nksXbQjR6gfe2MrtAbzV2OS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":113357},"jest":{"transform":{}},"main":"lib/index.cjs.js","type":"module","types":"types/index.d.ts","module":"lib/index.esm.js","gitHead":"d5aa19a8a1e7ccf3f4083f9395864db418b163f0","scripts":{"lint":"eslint --fix . --ignore-pattern '**/lib/**'","test":"NODE_OPTIONS='--experimental-vm-modules' jest --verbose --coverage","build":"NODE_ENV=production rollup -c rollup.config.mjs --bundleConfigAsCjs","start":"cd ./demo && node server.js","format":"prettier --ignore-path .prettierignore '**/*.js' --write","prebuild":"rimraf lib"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/target-cdn-experimentation-nodejs-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"Contains the build system and files specific to the NodeJS platform.","directories":{},"_nodeVersion":"20.19.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/target-cdn-experimentation-nodejs-sdk_0.0.2_1744017974220_0.7201644059386665","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@adobe/target-cdn-experimentation-nodejs-sdk","version":"0.0.3","author":"","license":"Apache-2.0","_id":"@adobe/target-cdn-experimentation-nodejs-sdk@0.0.3","maintainers":[{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"djaeggi","email":"djaeggi@adobe.com"},{"name":"dylandepass","email":"dylandepass@gmail.com"},{"name":"mhaack","email":"mhaack@adobe.com"},{"name":"amol-anand","email":"amol@adobe.com"},{"name":"stopp-adobe","email":"stopp@adobe.com"},{"name":"doten","email":"doten@adobe.com"},{"name":"duh_schmidt","email":"schmidt@adobe.com"},{"name":"asthabh23","email":"astha.bhargava23@gmail.com"},{"name":"zdahbi","email":"zouhir.dahbi@outlook.com"},{"name":"tuicu","email":"tuicu@adobe.com"}],"homepage":"https://github.com/adobe/target-cdn-experimentation-nodejs-sdk#readme","bugs":{"url":"https://github.com/adobe/target-cdn-experimentation-nodejs-sdk/issues"},"dist":{"shasum":"0d9cc765fcb732c7db6755bf6f36f04e9af939be","tarball":"https://registry.npmjs.org/@adobe/target-cdn-experimentation-nodejs-sdk/-/target-cdn-experimentation-nodejs-sdk-0.0.3.tgz","fileCount":5,"integrity":"sha512-ICmH+lzjupg3b11uOtlvCgQZIXBvf9IPIz8/ezgCqu2R3Z9LnSsiwmBpX85xJZ+xYSMui0ZP8I7kobPUrFdkwg==","signatures":[{"sig":"MEQCICV9NbybaZmTAPy4kwoAXNMnXvcVXLUCm2QKMHXmsmM2AiBbBmfSrBzBijQGct6JfsC5Wiu4j8udayO9QaDppPs18Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":117940},"jest":{"transform":{}},"main":"lib/index.cjs.js","type":"module","types":"types/index.d.ts","module":"lib/index.esm.js","gitHead":"a75c76cc9586bab68721279323119ded625e8c67","scripts":{"lint":"eslint --fix . --ignore-pattern '**/lib/**'","test":"NODE_OPTIONS='--experimental-vm-modules' jest --verbose --coverage","build":"NODE_ENV=production rollup -c rollup.config.mjs --bundleConfigAsCjs","start":"cd ./demo && node server.js","format":"prettier --ignore-path .prettierignore '**/*.js' --write","prebuild":"rimraf lib"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/target-cdn-experimentation-nodejs-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"Contains the build system and files specific to the NodeJS platform.","directories":{},"_nodeVersion":"20.19.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/target-cdn-experimentation-nodejs-sdk_0.0.3_1744214814482_0.8004616808511982","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"@adobe/target-cdn-experimentation-nodejs-sdk","version":"0.0.4","author":"","license":"Apache-2.0","_id":"@adobe/target-cdn-experimentation-nodejs-sdk@0.0.4","maintainers":[{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"djaeggi","email":"djaeggi@adobe.com"},{"name":"dylandepass","email":"dylandepass@gmail.com"},{"name":"mhaack","email":"mhaack@adobe.com"},{"name":"amol-anand","email":"amol@adobe.com"},{"name":"stopp-adobe","email":"stopp@adobe.com"},{"name":"doten","email":"doten@adobe.com"},{"name":"duh_schmidt","email":"schmidt@adobe.com"},{"name":"asthabh23","email":"astha.bhargava23@gmail.com"},{"name":"zdahbi","email":"zouhir.dahbi@outlook.com"},{"name":"tuicu","email":"tuicu@adobe.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"}],"homepage":"https://github.com/adobe/target-cdn-experimentation-nodejs-sdk#readme","bugs":{"url":"https://github.com/adobe/target-cdn-experimentation-nodejs-sdk/issues"},"dist":{"shasum":"f75fdb733d3538b1a11cc26381f1b986e579b9e0","tarball":"https://registry.npmjs.org/@adobe/target-cdn-experimentation-nodejs-sdk/-/target-cdn-experimentation-nodejs-sdk-0.0.4.tgz","fileCount":5,"integrity":"sha512-iGvciUY/t/aRKscKpvK5dH0ufoHye44CGk+wGP3KrsrUTbbkucfssZeTNi4hpUUE7Crmd8ZppUA77CpoP/ggSw==","signatures":[{"sig":"MEQCIENlrk67MxI7230kMDgiN1BM7TO1Kq6h2zga2Xw5np4bAiAa3LZS4n+nFiMaOU5YbOAJU8rcrb9l1+/RfHvmJLFMjw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":118266},"jest":{"transform":{}},"main":"./lib/index.cjs.js","types":"./types/index.d.ts","module":"./lib/index.esm.js","exports":{".":{"types":"./types/index.d.ts","import":"./lib/index.esm.js","require":"./lib/index.cjs.js"}},"gitHead":"03e7f9d6ae944c501baf480eb3a315565f68ad04","scripts":{"lint":"eslint --fix . --ignore-pattern '**/lib/**'","test":"NODE_OPTIONS='--experimental-vm-modules' jest --verbose --coverage","build":"NODE_ENV=production rollup -c rollup.config.mjs --bundleConfigAsCjs","start":"cd ./demo && node server.js","format":"prettier --ignore-path .prettierignore '**/*.js' --write","prebuild":"rimraf lib"},"_npmUser":{"name":"adobe-admin","actor":{"name":"adobe-admin","type":"user","email":"grp-opensourceoffice@adobe.com"},"email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/target-cdn-experimentation-nodejs-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"Contains the build system and files specific to the NodeJS platform.","directories":{},"_nodeVersion":"20.19.2","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/target-cdn-experimentation-nodejs-sdk_0.0.4_1751650765956_0.9148426188787202","host":"s3://npm-registry-packages-npm-production"}},"0.0.5":{"name":"@adobe/target-cdn-experimentation-nodejs-sdk","version":"0.0.5","author":"","license":"Apache-2.0","_id":"@adobe/target-cdn-experimentation-nodejs-sdk@0.0.5","maintainers":[{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"djaeggi","email":"djaeggi@adobe.com"},{"name":"dylandepass","email":"dylandepass@gmail.com"},{"name":"mhaack","email":"mhaack@adobe.com"},{"name":"amol-anand","email":"amol@adobe.com"},{"name":"stopp-adobe","email":"stopp@adobe.com"},{"name":"doten","email":"doten@adobe.com"},{"name":"duh_schmidt","email":"schmidt@adobe.com"},{"name":"asthabh23","email":"astha.bhargava23@gmail.com"},{"name":"zdahbi","email":"zouhir.dahbi@outlook.com"},{"name":"tuicu","email":"tuicu@adobe.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"}],"homepage":"https://github.com/adobe/target-cdn-experimentation-nodejs-sdk#readme","bugs":{"url":"https://github.com/adobe/target-cdn-experimentation-nodejs-sdk/issues"},"dist":{"shasum":"2c73d4e4c2b729c46641a6d43488b3925b4f45c0","tarball":"https://registry.npmjs.org/@adobe/target-cdn-experimentation-nodejs-sdk/-/target-cdn-experimentation-nodejs-sdk-0.0.5.tgz","fileCount":5,"integrity":"sha512-HuVheYfbyzz4QACu7cWk0MyWpP/Enkah1V1V8JnsfsiRvBIyIwhMXX5oXYlkhpIHxDnnxD31g85zrkVaRAHHOQ==","signatures":[{"sig":"MEQCIHsP6Rc7mOAMtMrNQwES4kmTLuRPqBfr2tpP9O2XozuCAiBGiJ/Zseb/ruCZQpeEcErsahQCfMizuWUDPVzHP2F7Wg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":130348},"jest":{"transform":{}},"main":"./lib/index.cjs.js","type":"module","types":"./types/index.d.ts","module":"./lib/index.esm.js","exports":{".":{"types":"./types/index.d.ts","import":"./lib/index.esm.js","require":"./lib/index.cjs.js"}},"gitHead":"5e041ab018503a039c6de19ae53c2dba75e77832","scripts":{"lint":"eslint --fix . --ignore-pattern '**/lib/**'","test":"NODE_OPTIONS='--experimental-vm-modules' jest --verbose --coverage","build":"NODE_ENV=production rollup -c rollup.config.mjs --bundleConfigAsCjs","start":"cd ./demo && node server.js","format":"prettier --ignore-path .prettierignore '**/*.js' --write","prebuild":"rimraf lib"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/target-cdn-experimentation-nodejs-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"Contains the build system and files specific to the NodeJS platform.","directories":{},"_nodeVersion":"20.19.4","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/target-cdn-experimentation-nodejs-sdk_0.0.5_1757073581586_0.7584607330098654","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@adobe/target-cdn-experimentation-nodejs-sdk","version":"1.0.0","author":"","license":"Apache-2.0","_id":"@adobe/target-cdn-experimentation-nodejs-sdk@1.0.0","maintainers":[{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"djaeggi","email":"djaeggi@adobe.com"},{"name":"dylandepass","email":"dylandepass@gmail.com"},{"name":"mhaack","email":"mhaack@adobe.com"},{"name":"amol-anand","email":"amol@adobe.com"},{"name":"stopp-adobe","email":"stopp@adobe.com"},{"name":"doten","email":"doten@adobe.com"},{"name":"duh_schmidt","email":"schmidt@adobe.com"},{"name":"asthabh23","email":"astha.bhargava23@gmail.com"},{"name":"zdahbi","email":"zouhir.dahbi@outlook.com"},{"name":"tuicu","email":"tuicu@adobe.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"}],"homepage":"https://github.com/adobe/target-cdn-experimentation-nodejs-sdk#readme","bugs":{"url":"https://github.com/adobe/target-cdn-experimentation-nodejs-sdk/issues"},"dist":{"shasum":"3bceb4558419a4d4166b99afaada4cc84305bbcf","tarball":"https://registry.npmjs.org/@adobe/target-cdn-experimentation-nodejs-sdk/-/target-cdn-experimentation-nodejs-sdk-1.0.0.tgz","fileCount":5,"integrity":"sha512-0Xp5Scilry8RzWTrMAgecB74FZj4/thwp1FImFs62zhmnQRfZxt7pyVTDOAOHdHjJEggX+wLCXv8OcSerb+KHA==","signatures":[{"sig":"MEUCIQDEUdVfD1HOxL9l4cM4QtGAj+5L8Og/UDLIDPU/3ihFtgIgJv2pQ2YmHYBGYpdZ9BrCc8ROI7gcjQEPXt5XFvoBmfk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":198400},"jest":{"transform":{}},"main":"./lib/index.cjs.js","type":"module","types":"./types/index.d.ts","module":"./lib/index.esm.js","exports":{".":{"types":"./types/index.d.ts","import":"./lib/index.esm.js","require":"./lib/index.cjs.js"}},"gitHead":"2f3b34d7b52684f53a04e49215f9e4bb3b94bcd4","scripts":{"lint":"eslint --fix . --ignore-pattern '**/lib/**'","test":"NODE_OPTIONS='--experimental-vm-modules' jest --verbose --coverage","build":"NODE_ENV=production rollup -c rollup.config.mjs --bundleConfigAsCjs","start":"cd ./demo && node server.js","format":"prettier --ignore-path .prettierignore '**/*.js' --write","prebuild":"rimraf lib"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/target-cdn-experimentation-nodejs-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"Contains the build system and files specific to the NodeJS platform.","directories":{},"_nodeVersion":"20.20.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/target-cdn-experimentation-nodejs-sdk_1.0.0_1773672485609_0.7984779147503627","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2025-03-14T15:34:59.886Z","modified":"2026-10-01T01:34:44.865Z","0.0.1":"2025-03-14T15:35:00.204Z","0.0.2":"2025-04-07T09:26:14.472Z","0.0.3":"2025-04-09T16:06:54.745Z","0.0.4":"2025-07-04T17:39:26.134Z","0.0.5":"2025-09-05T11:59:41.774Z","1.0.0":"2026-03-16T14:48:05.774Z"},"bugs":{"url":"https://github.com/adobe/target-cdn-experimentation-nodejs-sdk/issues"},"license":"Apache-2.0","homepage":"https://github.com/adobe/target-cdn-experimentation-nodejs-sdk#readme","repository":{"url":"git+https://github.com/adobe/target-cdn-experimentation-nodejs-sdk.git","type":"git"},"description":"Contains the build system and files specific to the NodeJS platform.","maintainers":[{"email":"mabecker@adobe.com","name":"marbec"},{"email":"tripod@bocanegra.ch","name":"tripod"},{"email":"garthdb@gmail.com","name":"garthdb"},{"email":"lazdnet@gmail.com","name":"lazd"},{"email":"grp-opensourceoffice@adobe.com","name":"adobe-admin"},{"email":"patrickfulton@gmail.com","name":"patrickfulton"},{"email":"lars@trieloff.net","name":"trieloff"},{"email":"krisnye@gmail.com","name":"krisnye"},{"email":"dcpfsdk@adobe.com","name":"dcpfsdk"},{"email":"natebaldwindesign@gmail.com","name":"natebaldwin"},{"email":"devongovett@gmail.com","name":"devongovett"},{"email":"danniintheus@gmail.com","name":"aspro83"},{"email":"symanovi@adobe.com","name":"symanovi"},{"email":"dominique.pfister@gmail.com","name":"dpfister"},{"email":"sg@adobe.com","name":"stefan-guggisberg"},{"email":"npm@rofe.com","name":"rofe"},{"email":"kptdobe@gmail.com","name":"kptdobe"},{"email":"halls@adobe.com","name":"adobehalls"},{"email":"bradjohn@adobe.com","name":"fullcolorcoder"},{"email":"djaeggi@adobe.com","name":"djaeggi"},{"email":"dylandepass@gmail.com","name":"dylandepass"},{"email":"mhaack@adobe.com","name":"mhaack"},{"email":"amol@adobe.com","name":"amol-anand"},{"email":"stopp@adobe.com","name":"stopp-adobe"},{"email":"namarora@adobe.com","name":"namarora"},{"email":"doten@adobe.com","name":"doten"},{"email":"schmidt@adobe.com","name":"duh_schmidt"},{"email":"astha.bhargava23@gmail.com","name":"asthabh23"},{"email":"aljoseph@adobe.com","name":"aljoseph"},{"email":"zouhir.dahbi@outlook.com","name":"zdahbi"},{"email":"tuicu@adobe.com","name":"tuicu"},{"email":"fmeschbe@adobe.com","name":"fmeschbe"}],"readme":"##  Target CDN Experimentation - NodeJS SDK \n\nThe \"Target CDN Experimentation - NodeJS SDK\" can be used to run A/B tests in Akamai EdgeWorkers based on Adobe Target activities that are [ODD - On Device Decisioning enabled](https://experienceleague.adobe.com/en/docs/target-dev/developer/server-side/on-device-decisioning/overview) and using Adobe Experience Platform [Web SDK API's](https://experienceleague.adobe.com/en/docs/experience-platform/web-sdk/home).\n\n\n### Setup\n1) In the NodeJS platform, make sure that your server can reach Adobe domains:\n  - `edge.adobedc.net` used to contact the Adobe Edge [/interact](https://developer.adobe.com/data-collection-apis/docs/endpoints/interact/) and [/collect](https://developer.adobe.com/data-collection-apis/docs/endpoints/collect/) endpoints \n  - `assets.adobetarget.com` used to retrieve the `rules.json` file that holds the Adobe Target ODD activities and conditions \n\n\n2) Install the package\n```bash\nnpm i @adobe/target-cdn-experimentation-nodejs-sdk\n```\n\n### Options\n\nPossible options when creating the `Client`\n\n```javascript\nClientOptions {\n  datastreamId: string;  // the datastreamId from the Adobe Experience Platform that connects to Adobe Target: e.g ebebf826-a01f-4458-8cec-ef61de241c93\n  orgId: string; // the Adobe Target organization ID e.g ADB3LETTERSANDNUMBERS@AdobeOrg\n  oddEnabled: boolean; // true - Enable local decisioning; false - acts as a proxy, all requests go to Adobe Edge servers\n  propertyToken?: string; // the property token associated with the datastream and the Target activities\n  edgeDomain?: string; // default: edge.adobedc.net; Override the domain \n  edgeBasePath?: string; // default: ee; \n  rules?: Record<string, any>; // Inline rules that can be used to evaluate the events; Can be retrieved from assets.adobetarget.com\n  rulesPoolingInterval?: number; // Interval in seconds to pool the rules from the Adobe server; if not provided the rules are not pooled\n  ruleDomain?: string; // default: assets.adobetarget.com; Override the domain for the rules \n  ruleBasePath?: string; // default: aep-odd-rules; Override the base path for the rules;\n}\n```\n\nThe Client will return 3 functions where the event is in the format expected by Alloy [SendEvent](https://experienceleague.adobe.com/en/docs/experience-platform/web-sdk/commands/sendevent/overview) command\n```javascript\n{\n  sendEvent(event), //  evaluates the event against the rules and provides a response \n  sendNotification(event), // return void if successful or throw an error; notifies the Adobe servers of an event\n  stopRulesPoolingInterval() // return void; stop rules Pooling \n}\n```\n\n### General workflow \n1) Client initialization\n  - Retrives location hint information from [Adobe Edge Network](https://developer.adobe.com/data-collection-apis/docs/getting-started/location-hints/)\n  - If `oddEnabled:true` \n    - if the `rules` are not provided inline, it retrieves the rules from `https://assets.adobetarget.com/aep-odd-rules/<orgId>/production/v1/<propertyToken>/rules.json` \n    - if `rulesPoolingInterval` is set, it schedules the pooling interval\n  - Returns the initializd Client \n- If the initialization fails an error is thrown\n2)  SendEvent function\n  - If `oddEnabled:false` the request and response are proxied to/from Adobe Edge servers\n  - If `oddEnabled:true` \n    - retrieves the [ECID](https://experienceleague.adobe.com/en/docs/id-service/using/intro/overview) from the request or generates one if it's not present (random or based on FPID)\n    - evaluates the rules against the Event\n    - add LocationHintId\n  - Returns the WebSDK response with the activities that match the rules\n3) Based on the Response the customer has to persist inside the browser the ECID and LocationHintId and to be added each subsequent request for `sendEvent`\n\n### Usage\n\n1) Inside your Akmai project import the Client\n```javascript\nimport { Client } from \"@adobe/target-cdn-experimentation-nodejs-sdk\";\n```\n\n3) Create and configure the client\n```javascript\n  ...\n  const client =  await Client({\n    datastreamId: \"DATASTREAM_ID\",\n    orgId: \"ORG_ID\", \n    propertyToken: \"PROPERTY_TOKEN\", \n    oddEnabled: true, // enable local decisioning\n    rules: imported_rules // rules downloaded ahead of time from assets.adobetarget.com\n});\n  ...\n```\n4)  Retrieve the results for a specific request \n```javascript\n    const basicEvent = {\n      type: \"decisioning.propositionFetch\",\n      personalization: {\n        sendDisplayEvent: true, // send a display event automatically to the Edge servers\n      },\n      xdm: {\n        web: {\n          webPageDetails: { URL: `${req.protocol}://${req.headers.host}${req.url}` },\n          webReferrer: { URL: \"\" },\n        },\n        implementationDetails: {\n          name: \"server-side\",\n          version: \"0,.0.4\",\n          environment: \"server\"\n        },\n      },\n    }\n    const sdkResponse = await client.sendEvent(basicEvent);\n```\n\n5) Process the `sdkResponse`\n```javascript\n      res.end(JSON.stringify(sdkResponse));\n```\n\n### Notes\n- The ECID and LocationHintId have to be saved for each visitor inside the browser to maintain the same A/B experience and to send the Notification events to the same Edge server\n- Check the Demo folder for a complete basic implementation [in the repository](https://github.com/adobe/target-cdn-experimentation-nodejs-sdk/tree/main/packages/sdk-nodejs/demo)\n- Differences between [Adobe Target NodeJS](https://experienceleague.adobe.com/en/docs/target-dev/developer/server-side/node-js/overview)\n  - Current package uses the WebSDK API's and request/response format instead of the Target one \n  - The rule engine and rules.json format is different; it uses the [@adobe/aep-rules-engine](https://www.npmjs.com/package/@adobe/aep-rules-engine)\n  - All string comparisons done by the rules engine are done in a lower case and case insensitive way (url's, mbox values etc.)\n  - If no `decisionScopes` are provided we default to `__view__ / target-global-mbox`\n  - It's purpose is to fit EdgeWorkers contraints so it's features and size is smaller\n  - The current package is still in development and it's not as mature as Adobe Target NodeJS.\n- At the moment the library offers support for global mbox parameters in the Event in the `data.__adobe.target` [object](https://experienceleague.adobe.com/en/docs/platform-learn/migrate-target-to-websdk/send-parameters#parameter-mapping-summary)\n\n\n### Example of a complex Event\n\n```javascript\n{\n    \"type\": \"decisioning.propositionFetch\",\n    \"personalization\": {\n      \"sendDisplayEvent\": true // send the display event automatically\n    },\n    \"decisionScopes\": [\"__view__\", \"customMbox\"],\n    \"xdm\": {\n      \"identityMap\": {\n        \"ECID\": [\n          {\n            \"id\": \"58520666134237204046201991105089158464\" // the ECID stored in the clients browser\n          }\n        ],\n        \"FPID\": [\n          {\n            \"id\": \"custom-FPID-string\" // custom FPID \n          }\n        ]\n      },\n      \"web\": {\n        \"webPageDetails\": {\n          \"URL\": `${req.protocol}://${req.headers.host}${req.url}`\n        },\n        \"webReferrer\": {\n          \"URL\": \"\"\n        }\n      },\n      \"implementationDetails\": {\n        \"name\": \"server-side\",\n        \"version\": \"0.0.5\",\n        \"environment\": \"server\",\n      },\n    },\n    \"data\": {\n      \"__adobe\": {\n        \"target\": {\n          \"mboxParameter\": \"mboxValue\" // global mbox parameter \n        }\n      }\n    },\n    \"meta\": {\n      \"state\": {\n        \"domain\": `${req.headers.host}`,\n        \"cookiesEnabled\": true,\n        \"entries\": [\n          {\n            \"key\": \"kndctr_<ORG_ID>_AdobeOrg_cluster\",\n            \"value\": \"clusterId\"\n          }\n        ],\n      },\n    }\n  }\n```\n\n# Target Audiences support\n\n**Supported audience attributes**:\n- [Site Pages](https://experienceleague.adobe.com/en/docs/target/using/audiences/create-audiences/categories-audiences/site-pages) > \"Current page\" - only the \"URL\", \"Query\" and \"Path\" options\n- [Geo](https://experienceleague.adobe.com/en/docs/target/using/audiences/create-audiences/categories-audiences/geo) - only the \"Country/Region\" option\n- [Custom parameters](https://experienceleague.adobe.com/en/docs/target/using/audiences/create-audiences/categories-audiences/custom-parameters) - you need to make sure that the value of the custom parameter is passed to the `data.__adobe.target.<custom-parameter-name>` object \n\n**Supported evaluators**\n- Equals\n- Does not equal\n- Is greater than\n- Is greater than or equal to\n- Is less than\n- Is less than or equal to\n- Contains\n- Does not contain\n- Starts with\n- Parameter value is present\nCase sensitivity is not supported. If an audience is defined having \"Case sensitive\" active for an evaluator, that setting will be ignored.\n\n# Target Offers support\n\nOnly [Form-Based Experience Composer](https://experienceleague.adobe.com/en/docs/target/using/experiences/form-experience-composer) offers of type \"Create JSON Offer\" and \"Create HTML Offer\" are supported.\n\n\n### Contributing\n\nContributions are welcomed! Read the [Contributing Guide](./.github/CONTRIBUTING.md) for more information.\n\n### Licensing\n\nThis project is licensed under the Apache V2 License. See [LICENSE](LICENSE) for more information.\n","readmeFilename":"README.md"}