{"_id":"@action-x/ad-sdk","_rev":"13-46f15752c5264ebb23e4f063be3ea2fc","name":"@action-x/ad-sdk","dist-tags":{"latest":"0.1.13"},"versions":{"0.1.0":{"name":"@action-x/ad-sdk","version":"0.1.0","_id":"@action-x/ad-sdk@0.1.0","maintainers":[{"name":"actionx","email":"support@actionx.top"}],"dist":{"shasum":"c9c79ac44f84b85eccc8fd817e5f576f0517729b","tarball":"https://registry.npmjs.org/@action-x/ad-sdk/-/ad-sdk-0.1.0.tgz","fileCount":7,"integrity":"sha512-WH8hzHYQw2SRw6BU44WM3yH84IdDMeeAGYuilfCcL2IOQ//Hy/86doPxclu+BonOTe2gfbBav8mZD2hDYYNx6w==","signatures":[{"sig":"MEQCIBm3plWnUaGcJORJCRyV+AlhAeplx2492HQ5i7n5s9weAiBMvxcozslSV015MNJJ3iMrimBs0TGo3zmWxij5km+vWg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":173527},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./style.css":"./dist/style.css"},"gitHead":"cf71ac8981b28cece94b129e5c156ca556155aee","scripts":{"dev":"vite build --watch","build":"tsc --noEmit && vite build","typecheck":"tsc --noEmit"},"_npmUser":{"name":"actionx","email":"support@actionx.top"},"_npmVersion":"11.5.1","description":"Zero-dependency ad SDK for ActionX","directories":{},"_nodeVersion":"24.6.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.0","typescript":"^5.3.0","vite-plugin-dts":"^3.7.0"},"_npmOperationalInternal":{"tmp":"tmp/ad-sdk_0.1.0_1772510921663_0.3654446362266184","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@action-x/ad-sdk","version":"0.1.2","_id":"@action-x/ad-sdk@0.1.2","maintainers":[{"name":"actionx","email":"support@actionx.top"}],"dist":{"shasum":"fd78068813e9ac968004fa52545fff5b3b2ca52b","tarball":"https://registry.npmjs.org/@action-x/ad-sdk/-/ad-sdk-0.1.2.tgz","fileCount":7,"integrity":"sha512-P6YLGC+rXQMvCuGSXjE568U+R6is5Qf0e0Uf7MX9tPNNdHVJQqKMHmcn+HCn1rGRkf9nIIKI8Yosw2mkwUm78Q==","signatures":[{"sig":"MEYCIQCMe92Ea0ZF1JjP4+ygqBkmV830w10cdXycmvbautCsuwIhAKIlNo8VTCmhNy+XVjcwu7jGZctJYvzeCGf1XgdaVTA0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":164339},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./style.css":"./dist/style.css"},"gitHead":"63bebb1bc23cbcf15a34295535c504174bb2c110","scripts":{"dev":"vite build --watch","build":"tsc --noEmit && vite build","typecheck":"tsc --noEmit"},"_npmUser":{"name":"actionx","email":"support@actionx.top"},"_npmVersion":"10.8.2","description":"Zero-dependency ad SDK for ActionX","directories":{},"_nodeVersion":"20.20.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.0","typescript":"^5.3.0","vite-plugin-dts":"^3.7.0"},"_npmOperationalInternal":{"tmp":"tmp/ad-sdk_0.1.2_1772518236570_0.7360859159559476","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@action-x/ad-sdk","version":"0.1.3","_id":"@action-x/ad-sdk@0.1.3","maintainers":[{"name":"actionx","email":"support@actionx.top"}],"dist":{"shasum":"ba9726cd05ec9db5c7e42e58e28bf1c286396078","tarball":"https://registry.npmjs.org/@action-x/ad-sdk/-/ad-sdk-0.1.3.tgz","fileCount":7,"integrity":"sha512-Bu1Wj0Bhh9sSQg5ePgrZbHslSH/2cTK8cXOturel1/zcLWua6PJJsEKXRhZUuEdkMVJSqyslb/3vSrfs21hTyw==","signatures":[{"sig":"MEUCIQCM4Wrh2lihqBgWvvnwykhsEdIdZoDAVtAXjRLOUqSKPwIgKAvtNsAfJjUOo5icrwzqYpn5X/P379qXkHEcBJZjk/Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":164527},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./style.css":"./dist/style.css"},"gitHead":"218486caab8f3e6bbb986958360aae224f1492b4","scripts":{"dev":"vite build --watch","build":"tsc --noEmit && vite build","release":"npm version patch && git push && git push --tags","typecheck":"tsc --noEmit","release:major":"npm version major && git push && git push --tags","release:minor":"npm version minor && git push && git push --tags"},"_npmUser":{"name":"actionx","email":"support@actionx.top"},"_npmVersion":"10.8.2","description":"Zero-dependency ad SDK for ActionX","directories":{},"_nodeVersion":"20.20.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.0","typescript":"^5.3.0","vite-plugin-dts":"^3.7.0"},"_npmOperationalInternal":{"tmp":"tmp/ad-sdk_0.1.3_1772519261314_0.02243475737471612","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@action-x/ad-sdk","version":"0.1.4","_id":"@action-x/ad-sdk@0.1.4","maintainers":[{"name":"actionx","email":"support@actionx.top"}],"dist":{"shasum":"41c9922a1891bc9323803345d041cf8b2a2ca8b3","tarball":"https://registry.npmjs.org/@action-x/ad-sdk/-/ad-sdk-0.1.4.tgz","fileCount":7,"integrity":"sha512-WpZPmrqxm/tuw/v1GupBl03zvkLXuUYmhIxCbADrKUAJzLK7NcPTBt+pankjrAd3HYWmJ5X/78KjXEWyAgQfAw==","signatures":[{"sig":"MEUCICzAhnvXlHF36P1cVkZ5HlBVOQw7bn7c0JRGHuptFceoAiEA/pUMZ7uTr+RZWDzq+r+KByYHds9+MNH4y344SzynhSI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":168213},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./style.css":"./dist/style.css"},"gitHead":"7258ebc3aeada48aefefb694cff926242ef84852","scripts":{"dev":"vite build --watch","build":"tsc --noEmit && vite build","release":"npm version patch && git push && git push --tags","typecheck":"tsc --noEmit","release:major":"npm version major && git push && git push --tags","release:minor":"npm version minor && git push && git push --tags"},"_npmUser":{"name":"actionx","email":"support@actionx.top"},"_npmVersion":"10.8.2","description":"Zero-dependency ad SDK for ActionX","directories":{},"_nodeVersion":"20.20.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.0","typescript":"^5.3.0","vite-plugin-dts":"^3.7.0"},"_npmOperationalInternal":{"tmp":"tmp/ad-sdk_0.1.4_1772523296288_0.6526188334818099","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@action-x/ad-sdk","version":"0.1.5","_id":"@action-x/ad-sdk@0.1.5","maintainers":[{"name":"actionx","email":"support@actionx.top"}],"dist":{"shasum":"3baf1a19497238f06c46c57ae3fe4a69b8637322","tarball":"https://registry.npmjs.org/@action-x/ad-sdk/-/ad-sdk-0.1.5.tgz","fileCount":7,"integrity":"sha512-GQG82Hs3ulzIhgqQFPUHknjMp9tS953pr01pLX3cnYysbKAKisRTqyXPk6w82XUZwpCSpoAZJPxigWMk+nBrLw==","signatures":[{"sig":"MEYCIQCvG6Cg0QfbS53FFmcBKlpgv8PvNOlxKf+ZfUg5sdsawwIhAKl9uhGuQHpUDebSZ49XP76ghBJi05A7hPY7nr3ELlca","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":169146},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./style.css":"./dist/style.css"},"gitHead":"38a375c96712575dd66f3079b1252c7d69643e79","scripts":{"dev":"vite build --watch","build":"tsc --noEmit && vite build","release":"npm version patch && git push && git push --tags","typecheck":"tsc --noEmit","release:major":"npm version major && git push && git push --tags","release:minor":"npm version minor && git push && git push --tags"},"_npmUser":{"name":"actionx","email":"support@actionx.top"},"_npmVersion":"10.8.2","description":"Zero-dependency ad SDK for ActionX","directories":{},"_nodeVersion":"20.20.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.0","typescript":"^5.3.0","vite-plugin-dts":"^3.7.0"},"_npmOperationalInternal":{"tmp":"tmp/ad-sdk_0.1.5_1772524348206_0.28599970699059396","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@action-x/ad-sdk","version":"0.1.6","_id":"@action-x/ad-sdk@0.1.6","maintainers":[{"name":"actionx","email":"support@actionx.top"}],"dist":{"shasum":"f8e689811e4ad004d622891b074b452f381bdbd6","tarball":"https://registry.npmjs.org/@action-x/ad-sdk/-/ad-sdk-0.1.6.tgz","fileCount":7,"integrity":"sha512-6SzMwlgbzlFipHh1qOzYK9ySGxIkvkZ3rMTsdhxi0tFHnlLPOx5PxO5EbnZjHioIsjuGqKZRXXrLApuwwXP5Jw==","signatures":[{"sig":"MEUCIQCs7gcFf/qVWlRD1vxXwvi1IcFl1qpLtNcadaMN91SY1gIgfuqs8TmhL5WB+6iYlLbEisEh4am7B8Yn6oqbQN7PO0Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":173990},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./style.css":"./dist/style.css"},"gitHead":"2cfaf1e9dee5779b5ba4ad4b964d60a66709f2df","scripts":{"dev":"vite build --watch","build":"tsc --noEmit && vite build","release":"npm version patch && git push && git push --tags","typecheck":"tsc --noEmit","release:major":"npm version major && git push && git push --tags","release:minor":"npm version minor && git push && git push --tags"},"_npmUser":{"name":"actionx","email":"support@actionx.top"},"_npmVersion":"10.8.2","description":"Zero-dependency ad SDK for ActionX","directories":{},"_nodeVersion":"20.20.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.0","typescript":"^5.3.0","vite-plugin-dts":"^3.7.0"},"_npmOperationalInternal":{"tmp":"tmp/ad-sdk_0.1.6_1772525331812_0.5667082968953499","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@action-x/ad-sdk","version":"0.1.7","_id":"@action-x/ad-sdk@0.1.7","maintainers":[{"name":"actionx","email":"support@actionx.top"}],"dist":{"shasum":"781ec7d6a34d055e0cccc8adb284e67e74e13366","tarball":"https://registry.npmjs.org/@action-x/ad-sdk/-/ad-sdk-0.1.7.tgz","fileCount":7,"integrity":"sha512-/I/5YpwflOwWjoHmTMwpsGToXSREtJlyGJsv7Isfol1vm62yqHRyD/FtFoaj60F4sAzC0KWwV1yXLAnw56CpCQ==","signatures":[{"sig":"MEYCIQCSX/dk4ZGNyVMcYpux9nfumSVYa4gImvHqftnl5sx9WQIhAIP5yNq8pp/B/y8d9Kmw/7f33mlUHUJZ5h2DRakmJgnT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":173593},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./style.css":"./dist/style.css"},"gitHead":"689c5d1e8b87cd30ce7e01e0a628b8b8cffac6dd","scripts":{"dev":"vite build --watch","build":"tsc --noEmit && vite build","release":"npm version patch && git push && git push --tags","typecheck":"tsc --noEmit","release:major":"npm version major && git push && git push --tags","release:minor":"npm version minor && git push && git push --tags"},"_npmUser":{"name":"actionx","email":"support@actionx.top"},"_npmVersion":"10.8.2","description":"Zero-dependency ad SDK for ActionX","directories":{},"_nodeVersion":"20.20.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.0","typescript":"^5.3.0","vite-plugin-dts":"^3.7.0"},"_npmOperationalInternal":{"tmp":"tmp/ad-sdk_0.1.7_1772528225353_0.7463231080633259","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"@action-x/ad-sdk","version":"0.1.8","_id":"@action-x/ad-sdk@0.1.8","maintainers":[{"name":"actionx","email":"support@actionx.top"}],"dist":{"shasum":"69f7ee881265eaed286fbed32b9e76665722d3da","tarball":"https://registry.npmjs.org/@action-x/ad-sdk/-/ad-sdk-0.1.8.tgz","fileCount":7,"integrity":"sha512-lIu/BrZlVnP/WmPRPCa/yPwiuRwcpBV03IvzcAZGcbU9zcgTmlG4FPOnE3XIRLE7OpryWHqE6o0POvmpG/WI5g==","signatures":[{"sig":"MEYCIQDVmfDEcfavSlJuUw/8lvd719NMHQN6BtbI/uNacfzIsgIhAJlLneu8rx9h6AxJTR2F3P63jQSGhpvKHxcVcZS60+HE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":174161},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./style.css":"./dist/style.css"},"gitHead":"148fd2da15cd3aa2bd4555836d599fc7f8492ae6","scripts":{"dev":"vite build --watch","build":"tsc --noEmit && vite build","release":"npm version patch && git push && git push --tags","typecheck":"tsc --noEmit","release:major":"npm version major && git push && git push --tags","release:minor":"npm version minor && git push && git push --tags"},"_npmUser":{"name":"actionx","email":"support@actionx.top"},"_npmVersion":"10.8.2","description":"Zero-dependency ad SDK for ActionX","directories":{},"_nodeVersion":"20.20.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.0","typescript":"^5.3.0","vite-plugin-dts":"^3.7.0"},"_npmOperationalInternal":{"tmp":"tmp/ad-sdk_0.1.8_1772529119094_0.7746753626578333","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"@action-x/ad-sdk","version":"0.1.9","_id":"@action-x/ad-sdk@0.1.9","maintainers":[{"name":"actionx","email":"support@actionx.top"}],"dist":{"shasum":"a38770367f9cbde6317ff6e7312951415deeb357","tarball":"https://registry.npmjs.org/@action-x/ad-sdk/-/ad-sdk-0.1.9.tgz","fileCount":7,"integrity":"sha512-FRn3dYtI2CCeEiVS8kgI1jOzab4DJPzzXCkvvkM4eYy4l10W0vEAet12+hE0jvAnDZvqYsM7bZW9vr1Y1nc22Q==","signatures":[{"sig":"MEQCHzrU/bpZlZPriNg9FzDxr+OlP7SICbY7M/9G/TTWcAgCIQD3VL3lcQf6J0a5GDFuCoLysqqmQb3KuqpqbEf2ViM0ow==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":173932},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./style.css":"./dist/style.css"},"gitHead":"8d12a391965bde377d1dbf9936cec07eb1f16766","scripts":{"dev":"vite build --watch","build":"tsc --noEmit && vite build","release":"npm version patch && git push && git push --tags","typecheck":"tsc --noEmit","release:major":"npm version major && git push && git push --tags","release:minor":"npm version minor && git push && git push --tags"},"_npmUser":{"name":"actionx","email":"support@actionx.top"},"_npmVersion":"10.8.2","description":"Zero-dependency ad SDK for ActionX","directories":{},"_nodeVersion":"20.20.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.0","typescript":"^5.3.0","vite-plugin-dts":"^3.7.0"},"_npmOperationalInternal":{"tmp":"tmp/ad-sdk_0.1.9_1772530120978_0.5308969198905833","host":"s3://npm-registry-packages-npm-production"}},"0.1.10":{"name":"@action-x/ad-sdk","version":"0.1.10","_id":"@action-x/ad-sdk@0.1.10","maintainers":[{"name":"actionx","email":"support@actionx.top"}],"dist":{"shasum":"19bb30e0cc1f6c38374ef9f591542f00655cb1d4","tarball":"https://registry.npmjs.org/@action-x/ad-sdk/-/ad-sdk-0.1.10.tgz","fileCount":7,"integrity":"sha512-VowSUJ0awuvt/3v11HQurKmLnUXZeMFELG8hx+FuF+V22nFZWL3lMCBrWV1g761aDU4P3AEJ5Fh3vH46yFxvSQ==","signatures":[{"sig":"MEUCIAUUAKsqRP5tFlBswmD4hPPLyUrql/unKrR2BTLTO4LfAiEA7XpxIjho0F2bwcR1nPsxMMa1uxWqNJoJM3/VQlbNGpo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":172973},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./style.css":"./dist/style.css"},"gitHead":"ab5b6c06422048f01e8f32819fb1d8910426b74b","scripts":{"dev":"vite build --watch","build":"tsc --noEmit && vite build","release":"npm version patch && git push && git push --tags","typecheck":"tsc --noEmit","release:major":"npm version major && git push && git push --tags","release:minor":"npm version minor && git push && git push --tags"},"_npmUser":{"name":"actionx","email":"support@actionx.top"},"_npmVersion":"10.8.2","description":"Zero-dependency ad SDK for ActionX","directories":{},"_nodeVersion":"20.20.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.0","typescript":"^5.3.0","vite-plugin-dts":"^3.7.0"},"_npmOperationalInternal":{"tmp":"tmp/ad-sdk_0.1.10_1772644410560_0.18221884723071113","host":"s3://npm-registry-packages-npm-production"}},"0.1.11":{"name":"@action-x/ad-sdk","version":"0.1.11","_id":"@action-x/ad-sdk@0.1.11","maintainers":[{"name":"actionx","email":"support@actionx.top"}],"dist":{"shasum":"a60480c1ae556532bc4013b51f256d59b55dd0d6","tarball":"https://registry.npmjs.org/@action-x/ad-sdk/-/ad-sdk-0.1.11.tgz","fileCount":7,"integrity":"sha512-WkYjHtJepILQ7T50pxCGh5hBgE7A8guRO0J6xHVtVTFX0c8YIjhXT8Pcnwqd8J6LcTEZ+X/eqN/e9joL3IUKng==","signatures":[{"sig":"MEUCIEAm/A+JHmoR18hc6HZzMSDlfmtOZLX3NXhZS9xQR0wlAiEA6mpP/ZnqtaDH74whxVEKCzQJvlwkNSWcczAB93vOpDA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":174231},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./style.css":"./dist/style.css"},"gitHead":"088e3d93bb3192f4793d566aab2eb1379c37bdb2","scripts":{"dev":"vite build --watch","build":"tsc --noEmit && vite build","release":"npm version patch && git push && git push --tags","typecheck":"tsc --noEmit","release:major":"npm version major && git push && git push --tags","release:minor":"npm version minor && git push && git push --tags"},"_npmUser":{"name":"actionx","email":"support@actionx.top"},"_npmVersion":"10.8.2","description":"Zero-dependency ad SDK for ActionX","directories":{},"_nodeVersion":"20.20.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.0","typescript":"^5.3.0","vite-plugin-dts":"^3.7.0"},"_npmOperationalInternal":{"tmp":"tmp/ad-sdk_0.1.11_1772660558744_0.32685284541551773","host":"s3://npm-registry-packages-npm-production"}},"0.1.12":{"name":"@action-x/ad-sdk","version":"0.1.12","_id":"@action-x/ad-sdk@0.1.12","maintainers":[{"name":"actionx","email":"support@actionx.top"}],"dist":{"shasum":"dea27cf58c0257342172c85718334756187139fb","tarball":"https://registry.npmjs.org/@action-x/ad-sdk/-/ad-sdk-0.1.12.tgz","fileCount":7,"integrity":"sha512-w95h7OwB2H+cln58+iZTFa6LufiaDP/aVmWXQBVKIsta+HONgVdwmdcuczSn3iul82UYmgTcW0x36GryGYkr3g==","signatures":[{"sig":"MEQCIExq/OqwK1G0HQcmGdbN+DlQXrimuq2ZQDbPxujgbiWjAiARSOaUS9aEbAPQuqhAHrWunjmWOG7Za8j8LHYiFm8L1w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":178092},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./style.css":"./dist/style.css"},"gitHead":"927b48f3fb6935df05746382a7c7d70696f1ae7f","scripts":{"dev":"vite build --watch","build":"tsc --noEmit && vite build","release":"npm version patch && git push && git push --tags","typecheck":"tsc --noEmit","release:major":"npm version major && git push && git push --tags","release:minor":"npm version minor && git push && git push --tags"},"_npmUser":{"name":"actionx","email":"support@actionx.top"},"_npmVersion":"10.8.2","description":"Zero-dependency ad SDK for ActionX","directories":{},"_nodeVersion":"20.20.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.0","typescript":"^5.3.0","vite-plugin-dts":"^3.7.0"},"_npmOperationalInternal":{"tmp":"tmp/ad-sdk_0.1.12_1772784855341_0.9382497573599289","host":"s3://npm-registry-packages-npm-production"}},"0.1.13":{"name":"@action-x/ad-sdk","version":"0.1.13","description":"Zero-dependency ad SDK for ActionX","type":"module","main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs","types":"./dist/index.d.ts"},"./style.css":"./dist/style.css"},"scripts":{"build":"tsc --noEmit && vite build","dev":"vite build --watch","typecheck":"tsc --noEmit","release":"npm version patch && git push && git push --tags","release:minor":"npm version minor && git push && git push --tags","release:major":"npm version major && git push && git push --tags"},"devDependencies":{"typescript":"^5.3.0","vite":"^5.0.0","vite-plugin-dts":"^3.7.0"},"_id":"@action-x/ad-sdk@0.1.13","gitHead":"3f40e846a9d4aa1b5ae030e9251698b9703e8fb8","_nodeVersion":"20.20.0","_npmVersion":"10.8.2","dist":{"integrity":"sha512-nrn+jnPwQHjQgFS8PhR1E/6yGEYu8VZOg/VLljBTFcX/HXFzF9Exp1Rc+ceOM6pNql3DlLshEW5+y3q1IqaCFw==","shasum":"41a87ef53e5578ca15a044ed79451a3508c61d83","tarball":"https://registry.npmjs.org/@action-x/ad-sdk/-/ad-sdk-0.1.13.tgz","fileCount":7,"unpackedSize":158786,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCAVjlnJ+GDojAc6MqPKr5xLaw6Xv4TQn03+uemllohnQIgSLPCzkaO97SUTpRcrBgLQ3QsLrFE6kiZ4+aP3BTRhAc="}]},"_npmUser":{"name":"actionx","email":"support@actionx.top"},"directories":{},"maintainers":[{"name":"actionx","email":"support@actionx.top"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ad-sdk_0.1.13_1773400702228_0.14953517966398766"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-03T04:08:41.561Z","modified":"2026-03-13T11:18:22.494Z","0.1.0":"2026-03-03T04:08:41.817Z","0.1.2":"2026-03-03T06:10:36.718Z","0.1.3":"2026-03-03T06:27:41.473Z","0.1.4":"2026-03-03T07:34:56.444Z","0.1.5":"2026-03-03T07:52:28.353Z","0.1.6":"2026-03-03T08:08:52.010Z","0.1.7":"2026-03-03T08:57:05.497Z","0.1.8":"2026-03-03T09:11:59.239Z","0.1.9":"2026-03-03T09:28:41.122Z","0.1.10":"2026-03-04T17:13:30.743Z","0.1.11":"2026-03-04T21:42:38.899Z","0.1.12":"2026-03-06T08:14:15.498Z","0.1.13":"2026-03-13T11:18:22.367Z"},"description":"Zero-dependency ad SDK for ActionX","maintainers":[{"name":"actionx","email":"support@actionx.top"}],"readme":"# @action-x/ad-sdk Usage Guide\n\nZero-dependency ad SDK for AI conversations, supporting Vanilla JS, Vue, React, Next.js, and all frameworks.\n\n---\n\n## Quick Start\n\n### Installation\n\n```bash\nnpm install @action-x/ad-sdk\n```\n\n### Minimal Example\n\n```typescript\nimport { AdManager } from '@action-x/ad-sdk';\nimport '@action-x/ad-sdk/style.css';\n\nconst manager = new AdManager({\n  apiBaseUrl: 'https://network.actionx.top/api/v1',\n  apiKey: 'ak_your_api_key',\n});\n\n// Request ads after AI conversation completes\nawait manager.requestAds({\n  query: 'Recommend a Bluetooth headset',\n  response: 'AI response content...',\n});\n\n// Render ad\nmanager.render(document.getElementById('ad-container'));\n```\n\n---\n\n## Core Concepts\n\n### 1. AdManager Configuration\n\n```typescript\nconst manager = new AdManager({\n  apiBaseUrl: string;        // Required: API endpoint\n  apiKey: string;            // Required: API key\n  cardOption?: {             // Optional: Card configuration\n    variant?: 'horizontal' | 'vertical' | 'compact';  // Layout style\n    count?: number;          // Number of ads to request, default 1\n  };\n  enabled?: boolean;         // Enable ads, default true\n  debug?: boolean;           // Debug mode, default false\n});\n```\n\n### 2. Request Ads\n\n```typescript\n// Simplified call (recommended)\nawait manager.requestAds({\n  query: string;             // Required: User query\n  response: string;          // Required: AI response content\n});\n\n// Full call\nawait manager.requestAds({\n  conversationContext: {\n    query: string;\n    response: string;\n  },\n  userContext?: {\n    sessionId?: string;\n    userId?: string;\n  }\n});\n```\n\n### 3. Render Ads\n\n```typescript\n// Simplified call (renders action_card slot by default)\nmanager.render(\n  container: HTMLElement,\n  options?: {\n    adIndex?: number;            // Ad index, default 0\n    variant?: string;            // Layout variant\n    onClick?: (ad) => void;      // Click callback\n    onImpression?: (ad) => void; // Impression callback\n  }\n);\n\n// Specify slot\nmanager.render(\n  slotId: string,\n  container: HTMLElement,\n  options?: { ... }\n);\n```\n\n### 4. Event Listeners\n\n```typescript\nmanager.on('adsUpdated', (slots) => {\n  console.log('Ad data updated');\n});\n\nmanager.on('adsLoading', () => {\n  console.log('Requesting ads');\n});\n\nmanager.on('adsError', (error) => {\n  console.warn('Ad request failed', error);\n});\n\nmanager.on('adClicked', (adId, slotId) => {\n  console.log('Ad clicked', adId);\n});\n\nmanager.on('adImpression', (adId, slotId) => {\n  console.log('Ad impression', adId);\n});\n```\n\n---\n\n## Framework Integration Examples\n\n### Vanilla JavaScript\n\n```html\n<!DOCTYPE html>\n<html>\n<head>\n  <link rel=\"stylesheet\" href=\"https://unpkg.com/@action-x/ad-sdk@latest/dist/style.css\" />\n</head>\n<body>\n  <div id=\"ad-container\"></div>\n\n  <script src=\"https://unpkg.com/@action-x/ad-sdk@latest/dist/index.umd.js\"></script>\n  <script>\n    const { AdManager } = ActionXAdSDK;\n\n    const manager = new AdManager({\n      apiBaseUrl: 'https://network.actionx.top/api/v1',\n      apiKey: 'ak_your_api_key',\n      debug: false,\n    });\n\n    manager.on('adsUpdated', () => {\n      manager.render(document.getElementById('ad-container'));\n    });\n\n    // Call after conversation completes\n    function onChatComplete(query, response) {\n      manager.requestAds({ query, response });\n    }\n  </script>\n</body>\n</html>\n```\n\n### Vue 3\n\n**Install and import styles:**\n\n```typescript\n// main.ts\nimport { createApp } from 'vue';\nimport App from './App.vue';\nimport '@action-x/ad-sdk/style.css';\n\ncreateApp(App).mount('#app');\n```\n\n**Create Composable:**\n\n```typescript\n// composables/useAdManager.ts\nimport { ref, shallowRef, onUnmounted } from 'vue';\nimport { AdManager } from '@action-x/ad-sdk';\n\nexport function useAdManager() {\n  const manager = shallowRef(\n    new AdManager({\n      apiBaseUrl: 'https://network.actionx.top/api/v1',\n      apiKey: 'ak_your_api_key',\n      debug: false,\n    })\n  );\n\n  const isLoading = ref(false);\n  const error = ref<Error | null>(null);\n\n  manager.value.on('adsLoading', () => {\n    isLoading.value = true;\n    error.value = null;\n  });\n\n  manager.value.on('adsUpdated', () => {\n    isLoading.value = false;\n  });\n\n  manager.value.on('adsError', (e) => {\n    isLoading.value = false;\n    error.value = e;\n  });\n\n  onUnmounted(() => manager.value.destroy());\n\n  async function requestAds(query: string, response: string) {\n    await manager.value.requestAds({ query, response });\n  }\n\n  return { manager, isLoading, error, requestAds };\n}\n```\n\n**Use in component:**\n\n```vue\n<template>\n  <div class=\"chat-response\">\n    <div class=\"response-text\">{{ responseText }}</div>\n    <div ref=\"adRef\" class=\"ad-mount\"></div>\n  </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, watch, nextTick } from 'vue';\nimport { useAdManager } from '@/composables/useAdManager';\n\nconst props = defineProps<{\n  query: string;\n  responseText: string;\n  isStreaming: boolean;\n}>();\n\nconst adRef = ref<HTMLElement>();\nconst { manager, requestAds } = useAdManager();\n\nwatch(\n  () => props.isStreaming,\n  async (streaming) => {\n    if (!streaming && props.responseText) {\n      await requestAds(props.query, props.responseText);\n      await nextTick();\n\n      if (adRef.value) {\n        manager.value.render(adRef.value);\n      }\n    }\n  }\n);\n</script>\n```\n\n### React / Next.js\n\n**Import styles:**\n\n```typescript\n// Next.js App Router: app/layout.tsx\nimport '@action-x/ad-sdk/style.css';\n\nexport default function RootLayout({ children }) {\n  return <html><body>{children}</body></html>;\n}\n\n// Vite + React: src/main.tsx\nimport '@action-x/ad-sdk/style.css';\nimport React from 'react';\nimport ReactDOM from 'react-dom/client';\nimport App from './App';\n\nReactDOM.createRoot(document.getElementById('root')!).render(<App />);\n```\n\n**Create Hook:**\n\n```typescript\n// hooks/useAdManager.ts\nimport { useEffect, useRef, useState, useCallback } from 'react';\nimport { AdManager } from '@action-x/ad-sdk';\n\nexport function useAdManager() {\n  const managerRef = useRef<AdManager | null>(null);\n  const [isLoading, setIsLoading] = useState(false);\n  const [error, setError] = useState<Error | null>(null);\n  const [isReady, setIsReady] = useState(false);\n\n  useEffect(() => {\n    const manager = new AdManager({\n      apiBaseUrl: 'https://network.actionx.top/api/v1',\n      apiKey: 'ak_your_api_key',\n      debug: false,\n    });\n\n    manager.on('adsLoading', () => setIsLoading(true));\n    manager.on('adsUpdated', () => {\n      setIsLoading(false);\n      setIsReady(true);\n    });\n    manager.on('adsError', (e) => {\n      setIsLoading(false);\n      setError(e);\n    });\n\n    managerRef.current = manager;\n    return () => manager.destroy();\n  }, []);\n\n  const requestAds = useCallback(async (query: string, response: string) => {\n    if (!managerRef.current) return;\n    await managerRef.current.requestAds({ query, response });\n  }, []);\n\n  return { manager: managerRef.current, isLoading, isReady, error, requestAds };\n}\n```\n\n**Create Ad Component:**\n\n```tsx\n// components/AdCard.tsx\n'use client';\n\nimport { useEffect, useRef } from 'react';\nimport type { AdManager } from '@action-x/ad-sdk';\n\ninterface AdCardProps {\n  manager: AdManager | null;\n  isReady: boolean;\n  className?: string;\n}\n\nexport function AdCard({ manager, isReady, className }: AdCardProps) {\n  const containerRef = useRef<HTMLDivElement>(null);\n\n  useEffect(() => {\n    if (!isReady || !manager || !containerRef.current) return;\n    manager.render(containerRef.current);\n  }, [isReady, manager]);\n\n  return <div ref={containerRef} className={className} />;\n}\n```\n\n**Use in page:**\n\n```tsx\n// app/chat/page.tsx\n'use client';\n\nimport { useState } from 'react';\nimport { useAdManager } from '@/hooks/useAdManager';\nimport { AdCard } from '@/components/AdCard';\n\nexport default function ChatPage() {\n  const [query, setQuery] = useState('');\n  const [response, setResponse] = useState('');\n  const [isStreaming, setIsStreaming] = useState(false);\n\n  const { manager, isReady, requestAds } = useAdManager();\n\n  const handleSend = async () => {\n    setIsStreaming(true);\n    const aiResponse = await fetchAIResponse(query);\n    setResponse(aiResponse);\n    setIsStreaming(false);\n\n    await requestAds(query, aiResponse);\n  };\n\n  return (\n    <div>\n      <input value={query} onChange={(e) => setQuery(e.target.value)} />\n      <button onClick={handleSend}>Send</button>\n\n      {response && (\n        <div>\n          <p>{response}</p>\n          <AdCard manager={manager} isReady={isReady} className=\"mt-4\" />\n        </div>\n      )}\n    </div>\n  );\n}\n```\n\n---\n\n## Custom Styles\n\nThe SDK uses the `ax-ad-*` namespace. Override styles via CSS:\n\n```css\n/* Custom CTA button */\n.ax-ad-cta {\n  background-color: #7c3aed !important;\n  border-radius: 20px;\n}\n\n.ax-ad-cta:hover {\n  background-color: #6d28d9 !important;\n}\n\n/* Custom card style */\n.ax-ad-card {\n  border: none;\n  border-radius: 12px;\n  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);\n}\n\n/* Dark mode */\n@media (prefers-color-scheme: dark) {\n  .ax-ad-card {\n    background: #1f2937;\n    border-color: #374151;\n    color: #f9fafb;\n  }\n  .ax-ad-title { color: #f9fafb; }\n  .ax-ad-body { color: #9ca3af; }\n}\n\n/* Hide on mobile */\n@media (max-width: 640px) {\n  .ax-ad-card { display: none; }\n}\n```\n\n---\n\n## Debugging Tips\n\n### Enable Debug Logging\n\n```typescript\nconst manager = new AdManager({\n  apiBaseUrl: '...',\n  apiKey: '...',\n  debug: true,  // Outputs detailed logs to console\n});\n```\n\n### Check Ad Response\n\n```typescript\nmanager.on('adsUpdated', (slots) => {\n  console.log('Ad slots:', Object.keys(slots));\n\n  Object.entries(slots).forEach(([slotId, slot]) => {\n    console.log(`[${slotId}] Status:`, slot.status);\n    console.log(`[${slotId}] Ad count:`, slot.ads.length);\n\n    if (slot.status === 'no_fill') {\n      console.log('  → No fill (insufficient inventory or targeting mismatch)');\n    }\n    if (slot.status === 'error') {\n      console.error('  → Slot error:', slot.error);\n    }\n  });\n});\n```\n\n### Common Issues\n\n| Issue | Possible Cause | Solution |\n|-------|---------------|----------|\n| Empty ad container | `render()` called before `requestAds()` completes | Call `render()` inside `adsUpdated` event |\n| Styles not applied | Forgot to import CSS | Ensure `import '@action-x/ad-sdk/style.css'` |\n| Console 403 error | Invalid or missing apiKey | Check apiKey configuration |\n| TypeScript type errors | Type definitions not generated | Run `npm run build` |\n| Ad status 'no_fill' | No matching ads | Expected behavior, check `manager.hasAds()` before rendering |\n| Clicks unresponsive | Container obscured | Check CSS z-index and pointer-events |\n\n---\n\n## API Reference\n\n### AdManager\n\n#### Constructor\n\n```typescript\nnew AdManager(config: AdManagerConfig)\n```\n\n#### Methods\n\n```typescript\n// Request ads\nrequestAds(context: { query: string; response: string }): Promise<AdResponseBatch>\nrequestAds(context: { conversationContext, userContext? }): Promise<AdResponseBatch>\n\n// Render ads\nrender(container: HTMLElement, options?: RenderOptions): HTMLElement | null\nrender(slotId: string, container: HTMLElement, options?: RenderOptions): HTMLElement | null\n\n// Check if ads available\nhasAds(slotId: string): boolean\n\n// Get ad data\ngetAds(slotId: string): any[]\ngetSlots(slotId?: string): Record<string, AdSlotResponse> | AdSlotResponse | undefined\n\n// Destroy instance\ndestroy(): void\n\n// Event listeners\non(event: string, handler: Function): void\noff(event: string, handler: Function): void\n```\n\n#### Events\n\n- `adsLoading` - Started requesting ads\n- `adsUpdated` - Ad data updated\n- `adsError` - Request failed\n- `adClicked` - Ad clicked\n- `adImpression` - Ad impression\n\n---\n\n## Version Info\n\n- Current version: `0.1.12`\n- License: MIT\n- Repository: [GitHub](https://github.com/action-x/ad-sdk)\n\n---\n\n## Support\n\nFor questions, contact ActionX support or submit an Issue.\n","readmeFilename":"README.md"}