{"_id":"@ai-ad-network/frontend-sdk","_rev":"23-670489bc2ed2fa683a856788f2221d9a","name":"@ai-ad-network/frontend-sdk","dist-tags":{"latest":"1.1.11"},"versions":{"1.0.0":{"name":"@ai-ad-network/frontend-sdk","version":"1.0.0","keywords":["ad-network","ai","react","typescript","native-ads"],"author":"","license":"MIT","_id":"@ai-ad-network/frontend-sdk@1.0.0","maintainers":[{"name":"zhangmou0121","email":"sowanjie@outlook.com"}],"dist":{"shasum":"dc06274f27245cabf05c7c0fde9b4a3dd5477800","tarball":"https://registry.npmjs.org/@ai-ad-network/frontend-sdk/-/frontend-sdk-1.0.0.tgz","fileCount":5,"integrity":"sha512-6pag0BQywxvY3jgtjPbrUmurud4yf3j9++lnWq9MhQpFY9dAq1YLE3UQmQjEo0/DM4BlpyiEh5ck9xQnhPo13g==","signatures":[{"sig":"MEQCIHTKFz1GoDmhNFVFRbhXgbRkXxk+XKPCXtu9whPtHArWAiBbLuE+E4NaiUf6kG2ENPTq5BnzrmXjpoIY1B2IdpV17w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":330981},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.esm.js","gitHead":"5e4fd4de59bd7c2db0d9abc079c7e808dd1742ff","scripts":{"dev":"vite","lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"tsc && vite build","format":"prettier --write \"src/**/*.{ts,tsx}\"","preview":"vite preview","storybook":"storybook dev -p 6006 --host 0.0.0.0","test:watch":"vitest --watch","build:watch":"tsc && vite build --watch","build-storybook":"storybook build"},"_npmUser":{"name":"zhangmou0121","email":"sowanjie@outlook.com"},"_npmVersion":"11.6.2","description":"Frontend SDK for Hybrid AI Interactive Ad Network","directories":{},"_nodeVersion":"25.2.1","dependencies":{"swr":"^2.2.4"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.0.0","vite":"^5.0.8","react":"^18.2.0","eslint":"^8.55.0","vitest":"^1.0.4","postcss":"^8.4.32","prettier":"^3.1.1","react-dom":"^18.2.0","storybook":"^7.6.5","typescript":"^5.2.2","tailwindcss":"^3.3.6","@types/react":"^18.2.43","autoprefixer":"^10.4.16","tailwind-merge":"^2.1.0","@storybook/react":"^7.6.5","@types/react-dom":"^18.2.17","@storybook/blocks":"^7.6.5","@vitejs/plugin-react":"^4.2.1","@storybook/react-vite":"^7.6.5","@storybook/addon-links":"^7.6.5","@typescript-eslint/parser":"^6.14.0","eslint-plugin-react-hooks":"^4.6.0","@storybook/testing-library":"^0.2.2","@storybook/addon-essentials":"^7.6.5","@storybook/addon-onboarding":"^1.0.8","eslint-plugin-react-refresh":"^0.4.5","@storybook/addon-interactions":"^7.6.5","@typescript-eslint/eslint-plugin":"^6.14.0"},"peerDependencies":{"react":"^18.0.0","react-dom":"^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/frontend-sdk_1.0.0_1769085031645_0.4708370724176414","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@ai-ad-network/frontend-sdk","version":"1.0.1","keywords":["ad-network","ai","react","typescript","native-ads"],"author":"","license":"MIT","_id":"@ai-ad-network/frontend-sdk@1.0.1","maintainers":[{"name":"zhangmou0121","email":"sowanjie@outlook.com"}],"dist":{"shasum":"b324db4563b73a407eff1ad610609fce8216b09d","tarball":"https://registry.npmjs.org/@ai-ad-network/frontend-sdk/-/frontend-sdk-1.0.1.tgz","fileCount":7,"integrity":"sha512-WL5dMkTYzDOqu+vYAA4ZgOTsTQvgR6CAkE5JK3bSpQQ2vAsWO2DX04wX9lsXYPbIY7IneW6Xca/N0jTWMs0Fog==","signatures":[{"sig":"MEYCIQCFluO6oPaQIjHZsedky1gxot3TkqXwnWcS8hcW/ji/NgIhAP/r9Y435cmc3az0gZnvlxF96ltsWexBt5C/Mj+YnD0M","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":326285},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.esm.js","gitHead":"6a1314cdb8e33ec597b8ca60e8ddbf1334a2339d","scripts":{"dev":"vite","lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"tsc && vite build","format":"prettier --write \"src/**/*.{ts,tsx}\"","preview":"vite preview","storybook":"storybook dev -p 6006 --host 0.0.0.0","test:watch":"vitest --watch","build:watch":"tsc && vite build --watch","docs:generate":"tsx scripts/generate-docs.ts","build-storybook":"storybook build"},"_npmUser":{"name":"zhangmou0121","email":"sowanjie@outlook.com"},"_npmVersion":"11.6.2","description":"Frontend SDK for Hybrid AI Interactive Ad Network","directories":{},"_nodeVersion":"25.2.1","dependencies":{"swr":"^2.2.4"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.0.0","vite":"^5.0.8","react":"^18.2.0","eslint":"^8.55.0","vitest":"^1.0.4","postcss":"^8.4.32","prettier":"^3.1.1","react-dom":"^18.2.0","storybook":"^7.6.5","typescript":"^5.2.2","tailwindcss":"^3.3.6","@types/react":"^18.2.43","autoprefixer":"^10.4.16","tailwind-merge":"^2.1.0","@storybook/react":"^7.6.5","@types/react-dom":"^18.2.17","@storybook/blocks":"^7.6.5","@vitejs/plugin-react":"^4.2.1","@storybook/react-vite":"^7.6.5","@storybook/addon-links":"^7.6.5","@typescript-eslint/parser":"^6.14.0","eslint-plugin-react-hooks":"^4.6.0","@storybook/testing-library":"^0.2.2","@storybook/addon-essentials":"^7.6.5","@storybook/addon-onboarding":"^1.0.8","eslint-plugin-react-refresh":"^0.4.5","@storybook/addon-interactions":"^7.6.5","@typescript-eslint/eslint-plugin":"^6.14.0"},"peerDependencies":{"react":"^18.0.0","react-dom":"^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/frontend-sdk_1.0.1_1769252721477_0.5141046636113302","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@ai-ad-network/frontend-sdk","version":"1.0.2","keywords":["ad-network","ai","react","typescript","native-ads"],"author":"","license":"MIT","_id":"@ai-ad-network/frontend-sdk@1.0.2","maintainers":[{"name":"zhangmou0121","email":"sowanjie@outlook.com"}],"dist":{"shasum":"2738e71d0f564108607c12d7b42dcb58a38c631e","tarball":"https://registry.npmjs.org/@ai-ad-network/frontend-sdk/-/frontend-sdk-1.0.2.tgz","fileCount":8,"integrity":"sha512-sowX7tfMJN0eFzz91xSKNta1CIaJj9AqBcW9OtS8iIOgCpLNXxvTNVXPArcIM+3VSvEnBOh5KwRMqEamf6w3IA==","signatures":[{"sig":"MEUCIGbOS20bW/HsTwknqKYh69TaSZqjKiEOnU/g6ioLpnR2AiEAu6J5Kzv5uNtvVuYeIfMM8ABxbW/7lABp3tDevFgqbVE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":366803},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.esm.js","gitHead":"5dd067ab53c70cdf61b20b963c11d076040be2a1","scripts":{"dev":"vite","lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"tsc && vite build","format":"prettier --write \"src/**/*.{ts,tsx}\"","preview":"vite preview","storybook":"storybook dev -p 6006 --host 0.0.0.0","test:watch":"vitest --watch","build:watch":"tsc && vite build --watch","docs:generate":"tsx scripts/generate-docs.ts","build-storybook":"storybook build"},"_npmUser":{"name":"zhangmou0121","email":"sowanjie@outlook.com"},"_npmVersion":"11.6.2","description":"Frontend SDK for Hybrid AI Interactive Ad Network","directories":{},"_nodeVersion":"25.2.1","dependencies":{"swr":"^2.2.4"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.0.0","vite":"^5.0.8","react":"^18.2.0","eslint":"^8.55.0","vitest":"^1.0.4","postcss":"^8.4.32","prettier":"^3.1.1","react-dom":"^18.2.0","storybook":"^7.6.5","typescript":"^5.2.2","tailwindcss":"^3.3.6","@types/react":"^18.2.43","autoprefixer":"^10.4.16","tailwind-merge":"^2.1.0","@storybook/react":"^7.6.5","@types/react-dom":"^18.2.17","@storybook/blocks":"^7.6.5","@vitejs/plugin-react":"^4.2.1","@storybook/react-vite":"^7.6.5","@storybook/addon-links":"^7.6.5","@typescript-eslint/parser":"^6.14.0","eslint-plugin-react-hooks":"^4.6.0","@storybook/testing-library":"^0.2.2","@storybook/addon-essentials":"^7.6.5","@storybook/addon-onboarding":"^1.0.8","eslint-plugin-react-refresh":"^0.4.5","@storybook/addon-interactions":"^7.6.5","@typescript-eslint/eslint-plugin":"^6.14.0"},"peerDependencies":{"react":"^18.0.0","react-dom":"^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/frontend-sdk_1.0.2_1769410207934_0.43185493484414805","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@ai-ad-network/frontend-sdk","version":"1.0.3","keywords":["ad-network","ai","react","typescript","native-ads"],"author":"","license":"MIT","_id":"@ai-ad-network/frontend-sdk@1.0.3","maintainers":[{"name":"zhangmou0121","email":"sowanjie@outlook.com"}],"dist":{"shasum":"f8d8e37fed61e877705640261af75314c3c08063","tarball":"https://registry.npmjs.org/@ai-ad-network/frontend-sdk/-/frontend-sdk-1.0.3.tgz","fileCount":8,"integrity":"sha512-cwentk35ktsFdMy6WY9SyBe7YE7Bve0XPOHrRC+ctzGW0OPIo5uHWjL3yyNiK+OXYMr9Un8LxCZK4SXb0SFs5g==","signatures":[{"sig":"MEUCIQC8lzp3uU0FVTId/hic2ZHnoK8xqYWuYld9d2L8a7BHVgIgXGMszIc5oGOlQUyjM7miQHDmnGpasHOofDyzmY2Yeaw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":378500},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.esm.js","gitHead":"5dd067ab53c70cdf61b20b963c11d076040be2a1","scripts":{"dev":"vite","lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"tsc && vite build","format":"prettier --write \"src/**/*.{ts,tsx}\"","preview":"vite preview","storybook":"storybook dev -p 6006 --host 0.0.0.0","test:watch":"vitest --watch","build:watch":"tsc && vite build --watch","docs:generate":"tsx scripts/generate-docs.ts","build-storybook":"storybook build"},"_npmUser":{"name":"zhangmou0121","email":"sowanjie@outlook.com"},"_npmVersion":"11.6.2","description":"Frontend SDK for Hybrid AI Interactive Ad Network","directories":{},"_nodeVersion":"25.2.1","dependencies":{"swr":"^2.2.4"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.0.0","vite":"^5.0.8","react":"^18.2.0","eslint":"^8.55.0","vitest":"^1.0.4","postcss":"^8.4.32","prettier":"^3.1.1","react-dom":"^18.2.0","storybook":"^7.6.5","typescript":"^5.2.2","tailwindcss":"^3.3.6","@types/react":"^18.2.43","autoprefixer":"^10.4.16","tailwind-merge":"^2.1.0","@storybook/react":"^7.6.5","@types/react-dom":"^18.2.17","@storybook/blocks":"^7.6.5","@vitejs/plugin-react":"^4.2.1","@storybook/react-vite":"^7.6.5","@storybook/addon-links":"^7.6.5","@typescript-eslint/parser":"^6.14.0","eslint-plugin-react-hooks":"^4.6.0","@storybook/testing-library":"^0.2.2","@storybook/addon-essentials":"^7.6.5","@storybook/addon-onboarding":"^1.0.8","eslint-plugin-react-refresh":"^0.4.5","@storybook/addon-interactions":"^7.6.5","@typescript-eslint/eslint-plugin":"^6.14.0"},"peerDependencies":{"react":"^18.0.0","react-dom":"^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/frontend-sdk_1.0.3_1769422250757_0.256216232903695","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@ai-ad-network/frontend-sdk","version":"1.0.4","keywords":["ad-network","ai","react","typescript","native-ads"],"author":"","license":"MIT","_id":"@ai-ad-network/frontend-sdk@1.0.4","maintainers":[{"name":"zhangmou0121","email":"sowanjie@outlook.com"}],"dist":{"shasum":"db4e7853ddac49114ccc98fac9896649c75664d6","tarball":"https://registry.npmjs.org/@ai-ad-network/frontend-sdk/-/frontend-sdk-1.0.4.tgz","fileCount":8,"integrity":"sha512-spmikAhq2abOBxp2onmy+KBAx7Zx6OB6ZkBvxVrWdk5eVNYXFyMJAlbYNFIESUsoY2tbpwVV33vS+2WBUi5MBg==","signatures":[{"sig":"MEQCIHdHLd3D+McBIrpWivFNeGNCZ+Mc1/59OJEiHCudZgucAiA6PtK7ahzp57v5afGGxPsu5yBQd/uoYmBtKr8wufkOgg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":607468},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.esm.js","gitHead":"5dd067ab53c70cdf61b20b963c11d076040be2a1","scripts":{"dev":"vite","lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"tsc && vite build","format":"prettier --write \"src/**/*.{ts,tsx}\"","preview":"vite preview","storybook":"storybook dev -p 6006 --host 0.0.0.0","test:watch":"vitest --watch","build:watch":"tsc && vite build --watch","docs:generate":"tsx scripts/generate-docs.ts","build-storybook":"storybook build"},"_npmUser":{"name":"zhangmou0121","email":"sowanjie@outlook.com"},"_npmVersion":"10.9.4","description":"Frontend SDK for Hybrid AI Interactive Ad Network","directories":{},"_nodeVersion":"22.22.0","dependencies":{"swr":"^2.2.4"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.0.0","vite":"^5.0.8","react":"^18.2.0","eslint":"^8.55.0","vitest":"^1.0.4","postcss":"^8.4.32","prettier":"^3.1.1","react-dom":"^18.2.0","storybook":"^7.6.5","typescript":"^5.2.2","tailwindcss":"^3.3.6","@types/react":"^18.2.43","autoprefixer":"^10.4.16","tailwind-merge":"^2.1.0","@storybook/react":"^7.6.5","@types/react-dom":"^18.2.17","@storybook/blocks":"^7.6.5","@vitejs/plugin-react":"^4.2.1","@storybook/react-vite":"^7.6.5","@storybook/addon-links":"^7.6.5","@typescript-eslint/parser":"^6.14.0","eslint-plugin-react-hooks":"^4.6.0","@storybook/testing-library":"^0.2.2","@storybook/addon-essentials":"^7.6.5","@storybook/addon-onboarding":"^1.0.8","eslint-plugin-react-refresh":"^0.4.5","@storybook/addon-interactions":"^7.6.5","@typescript-eslint/eslint-plugin":"^6.14.0"},"peerDependencies":{"react":"^18.0.0","react-dom":"^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/frontend-sdk_1.0.4_1769425736777_0.8897821915218991","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@ai-ad-network/frontend-sdk","version":"1.0.5","keywords":["ad-network","ai","react","typescript","native-ads"],"author":"","license":"MIT","_id":"@ai-ad-network/frontend-sdk@1.0.5","maintainers":[{"name":"zhangmou0121","email":"sowanjie@outlook.com"}],"dist":{"shasum":"0e107c82df64f6d3af0718d4f94814855ed597b0","tarball":"https://registry.npmjs.org/@ai-ad-network/frontend-sdk/-/frontend-sdk-1.0.5.tgz","fileCount":8,"integrity":"sha512-f3xZgFZlV4a9n+axPbMCQ2rZ7qRFbEuWEoR5+A9MZSI67HuHIeRBwwXSXD3WoNZgO/FKsouE6x+kaAZnOahurw==","signatures":[{"sig":"MEUCIBKvkcE5lHApmUzDQ2xGbruNMInDaLoeN13GBLSTgLuOAiEA04AJl9MKdiXh5rJEsjaib5MT84qxUVN69QRoMU9IU/s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":607533},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.esm.js","gitHead":"5dd067ab53c70cdf61b20b963c11d076040be2a1","scripts":{"dev":"vite","lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"npm run prebuild && tsc && vite build","format":"prettier --write \"src/**/*.{ts,tsx}\"","preview":"vite preview","prebuild":"node scripts/prebuild.cjs","storybook":"storybook dev -p 6006 --host 0.0.0.0","test:watch":"vitest --watch","build:watch":"tsc && vite build --watch","docs:generate":"tsx scripts/generate-docs.ts","build-storybook":"storybook build"},"_npmUser":{"name":"zhangmou0121","email":"sowanjie@outlook.com"},"_npmVersion":"10.9.4","description":"Frontend SDK for Hybrid AI Interactive Ad Network","directories":{},"_nodeVersion":"22.22.0","dependencies":{"swr":"^2.2.4"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.0.0","vite":"^5.0.8","react":"^18.2.0","eslint":"^8.55.0","vitest":"^1.0.4","postcss":"^8.4.32","prettier":"^3.1.1","react-dom":"^18.2.0","storybook":"^7.6.5","typescript":"^5.2.2","tailwindcss":"^3.3.6","@types/react":"^18.2.43","autoprefixer":"^10.4.16","tailwind-merge":"^2.1.0","@storybook/react":"^7.6.5","@types/react-dom":"^18.2.17","@storybook/blocks":"^7.6.5","@vitejs/plugin-react":"^4.2.1","@storybook/react-vite":"^7.6.5","@storybook/addon-links":"^7.6.5","@typescript-eslint/parser":"^6.14.0","eslint-plugin-react-hooks":"^4.6.0","@storybook/testing-library":"^0.2.2","@storybook/addon-essentials":"^7.6.5","@storybook/addon-onboarding":"^1.0.8","eslint-plugin-react-refresh":"^0.4.5","@storybook/addon-interactions":"^7.6.5","@typescript-eslint/eslint-plugin":"^6.14.0"},"peerDependencies":{"react":"^18.0.0","react-dom":"^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/frontend-sdk_1.0.5_1769431196660_0.741121202720963","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@ai-ad-network/frontend-sdk","version":"1.0.6","keywords":["ad-network","ai","react","typescript","native-ads"],"author":"","license":"MIT","_id":"@ai-ad-network/frontend-sdk@1.0.6","maintainers":[{"name":"zhangmou0121","email":"sowanjie@outlook.com"}],"dist":{"shasum":"e33c66e7b11aec122c9de451825f30c61597f8f7","tarball":"https://registry.npmjs.org/@ai-ad-network/frontend-sdk/-/frontend-sdk-1.0.6.tgz","fileCount":10,"integrity":"sha512-poZ1hNNEXfL3a1j2pzvUAphs3tpPRdaFFr7gP4wv5pcw8aoHgL8up9SQdUb30M0Z8uY1vo6bHGvA60ArrCFuuA==","signatures":[{"sig":"MEQCICt0m6y5qtv0y1xayQGu4EYLorH4eDO6OIo+0RrAwQ4GAiBZYnY3jLdeIoGjQVH7Jpg8ACD3nblPXSlrOb26ue56Zw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":624713},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.esm.js","gitHead":"5dd067ab53c70cdf61b20b963c11d076040be2a1","scripts":{"dev":"vite","lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"npm run prebuild && tsc && vite build","format":"prettier --write \"src/**/*.{ts,tsx}\"","preview":"vite preview","prebuild":"node scripts/prebuild.cjs","storybook":"storybook dev -p 6006 --host 0.0.0.0","test:watch":"vitest --watch","build:watch":"tsc && vite build --watch","docs:generate":"tsx scripts/generate-docs.ts","build-storybook":"storybook build"},"_npmUser":{"name":"zhangmou0121","email":"sowanjie@outlook.com"},"_npmVersion":"10.9.4","description":"Frontend SDK for Hybrid AI Interactive Ad Network","directories":{},"_nodeVersion":"22.22.0","dependencies":{"swr":"^2.2.4"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.0.0","vite":"^5.0.8","react":"^18.2.0","eslint":"^8.55.0","vitest":"^1.0.4","postcss":"^8.4.32","prettier":"^3.1.1","react-dom":"^18.2.0","storybook":"^7.6.5","typescript":"^5.2.2","tailwindcss":"^3.3.6","@types/react":"^18.2.43","autoprefixer":"^10.4.16","tailwind-merge":"^2.1.0","@storybook/react":"^7.6.5","@types/react-dom":"^18.2.17","@storybook/blocks":"^7.6.5","@vitejs/plugin-react":"^4.2.1","@storybook/react-vite":"^7.6.5","@storybook/addon-links":"^7.6.5","@typescript-eslint/parser":"^6.14.0","eslint-plugin-react-hooks":"^4.6.0","@storybook/testing-library":"^0.2.2","@storybook/addon-essentials":"^7.6.5","@storybook/addon-onboarding":"^1.0.8","eslint-plugin-react-refresh":"^0.4.5","@storybook/addon-interactions":"^7.6.5","@typescript-eslint/eslint-plugin":"^6.14.0"},"peerDependencies":{"react":"^18.0.0","react-dom":"^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/frontend-sdk_1.0.6_1769437405848_0.8691652495317448","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@ai-ad-network/frontend-sdk","version":"1.0.7","keywords":["ad-network","ai","react","vue","angular","typescript","native-ads","framework-agnostic"],"author":"","license":"MIT","_id":"@ai-ad-network/frontend-sdk@1.0.7","maintainers":[{"name":"zhangmou0121","email":"sowanjie@outlook.com"}],"dist":{"shasum":"bd83362c5c910e41dfca41c6252bd64bc7093783","tarball":"https://registry.npmjs.org/@ai-ad-network/frontend-sdk/-/frontend-sdk-1.0.7.tgz","fileCount":11,"integrity":"sha512-WLMESJqDssC0mTFFsmVEUOFw/WOrbneXj33ETqQqLj9kyPQsE1mndA322v51W2Ep+xCSMzGTyI0JisyYf3nBxg==","signatures":[{"sig":"MEYCIQDEAtmgKliUcwHY3DQ1dUUCnPFDAj2+g+CmEauUUMC05gIhAKuICcEeJG212+HA9BfSyVQfE36Z3O/8vF0PAdl9AS2L","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":654621},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.esm.js","browser":"dist/universal/universal.iife.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.js"},"./universal":{"types":"./dist/universal/universal.d.ts","import":"./dist/universal/universal.esm.js","require":"./dist/universal/universal.cjs.js"}},"gitHead":"5dd067ab53c70cdf61b20b963c11d076040be2a1","scripts":{"dev":"vite","lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"npm run prebuild && tsc && vite build","format":"prettier --write \"src/**/*.{ts,tsx}\"","preview":"vite preview","prebuild":"node scripts/prebuild.cjs","build:all":"npm run build && npm run build:universal","storybook":"storybook dev -p 6006 --host 0.0.0.0","test:watch":"vitest --watch","build:watch":"tsc && vite build --watch","docs:generate":"tsx scripts/generate-docs.ts","build-storybook":"storybook build","build:universal":"tsc && vite build --config vite.universal.config.ts"},"unified":"dist/universal/universal.umd.js","_npmUser":{"name":"zhangmou0121","email":"sowanjie@outlook.com"},"_npmVersion":"10.9.4","description":"Frontend SDK for Hybrid AI Interactive Ad Network - React + Universal","directories":{},"_nodeVersion":"22.22.0","dependencies":{"swr":"^2.2.4"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.0.0","vite":"^5.0.8","react":"^18.2.0","eslint":"^8.55.0","vitest":"^1.0.4","postcss":"^8.4.32","prettier":"^3.1.1","react-dom":"^18.2.0","storybook":"^7.6.5","typescript":"^5.2.2","tailwindcss":"^3.3.6","@types/react":"^18.2.43","autoprefixer":"^10.4.16","tailwind-merge":"^2.1.0","@storybook/react":"^7.6.5","@types/react-dom":"^18.2.17","@storybook/blocks":"^7.6.5","@vitejs/plugin-react":"^4.2.1","@storybook/react-vite":"^7.6.5","@storybook/addon-links":"^7.6.5","@typescript-eslint/parser":"^6.14.0","eslint-plugin-react-hooks":"^4.6.0","@storybook/testing-library":"^0.2.2","@storybook/addon-essentials":"^7.6.5","@storybook/addon-onboarding":"^1.0.8","eslint-plugin-react-refresh":"^0.4.5","@storybook/addon-interactions":"^7.6.5","@typescript-eslint/eslint-plugin":"^6.14.0"},"peerDependencies":{"react":"^18.0.0","react-dom":"^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/frontend-sdk_1.0.7_1769442450214_0.14166799909019878","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"@ai-ad-network/frontend-sdk","version":"1.0.8","keywords":["ad-network","ai","react","vue","angular","typescript","native-ads","framework-agnostic"],"author":"","license":"MIT","_id":"@ai-ad-network/frontend-sdk@1.0.8","maintainers":[{"name":"zhangmou0121","email":"sowanjie@outlook.com"}],"dist":{"shasum":"70e8b5990b1ea1774fb780ee1a0a762c9fb69199","tarball":"https://registry.npmjs.org/@ai-ad-network/frontend-sdk/-/frontend-sdk-1.0.8.tgz","fileCount":7,"integrity":"sha512-oOqRHyDnI5cRaFhaiOExzhFhSJEUT6Fv/z27Z/GBUtDzmkCMU7qZSg/ysaFdxEGqSyBZ7KROtw3fbdSty2T+og==","signatures":[{"sig":"MEUCIQCIutA0+FQWH7APSsLGtS1PvSAv4t9NRDsbsUIkG1JAxwIgKL6fXpKPY6kWRJGRCcKMVNC2XqVxUZzzY+J4OZTHK3Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":607608},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.esm.js","browser":"dist/universal/universal.iife.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.js"},"./universal":{"types":"./dist/universal/universal.d.ts","import":"./dist/universal/universal.esm.js","require":"./dist/universal/universal.cjs.js"}},"gitHead":"a88418df06c302464fe493ffd6088ed8041cb5d3","scripts":{"dev":"vite","lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"npm run prebuild && tsc && vite build","format":"prettier --write \"src/**/*.{ts,tsx}\"","preview":"vite preview","prebuild":"node scripts/prebuild.cjs","build:all":"npm run build && npm run build:universal","storybook":"storybook dev -p 6006 --host 0.0.0.0","test:watch":"vitest --watch","build:watch":"tsc && vite build --watch","docs:generate":"tsx scripts/generate-docs.ts","build-storybook":"storybook build","build:universal":"tsc && vite build --config vite.universal.config.ts"},"unified":"dist/universal/universal.umd.js","_npmUser":{"name":"zhangmou0121","email":"sowanjie@outlook.com"},"_npmVersion":"10.9.4","description":"Frontend SDK for Hybrid AI Interactive Ad Network - React + Universal","directories":{},"_nodeVersion":"22.22.0","dependencies":{"swr":"^2.2.4"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.0.0","vite":"^5.0.8","react":"^18.2.0","eslint":"^8.55.0","vitest":"^1.0.4","postcss":"^8.4.32","prettier":"^3.1.1","react-dom":"^18.2.0","storybook":"^7.6.5","typescript":"^5.2.2","tailwindcss":"^3.3.6","@types/react":"^18.2.43","autoprefixer":"^10.4.16","tailwind-merge":"^2.1.0","@storybook/react":"^7.6.5","@types/react-dom":"^18.2.17","@storybook/blocks":"^7.6.5","@vitejs/plugin-react":"^4.2.1","@storybook/react-vite":"^7.6.5","@storybook/addon-links":"^7.6.5","@typescript-eslint/parser":"^6.14.0","eslint-plugin-react-hooks":"^4.6.0","@storybook/testing-library":"^0.2.2","@storybook/addon-essentials":"^7.6.5","@storybook/addon-onboarding":"^1.0.8","eslint-plugin-react-refresh":"^0.4.5","@storybook/addon-interactions":"^7.6.5","@typescript-eslint/eslint-plugin":"^6.14.0"},"peerDependencies":{"react":"^18.0.0","react-dom":"^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/frontend-sdk_1.0.8_1769579787528_0.6017120863366101","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"@ai-ad-network/frontend-sdk","version":"1.0.9","keywords":["ad-network","ai","react","vue","angular","typescript","native-ads","framework-agnostic"],"author":"","license":"MIT","_id":"@ai-ad-network/frontend-sdk@1.0.9","maintainers":[{"name":"zhangmou0121","email":"sowanjie@outlook.com"}],"dist":{"shasum":"8358f5670c7dace9019b22d8192b13abf537ca32","tarball":"https://registry.npmjs.org/@ai-ad-network/frontend-sdk/-/frontend-sdk-1.0.9.tgz","fileCount":41,"integrity":"sha512-rnh4zG7U2ZBa38khQZTBX+q759GmmmH7AKYRPjEIA4UVkEqoNWaYvueIHbxosXo6Vv3fFs/qFV6a1qfxSqixSA==","signatures":[{"sig":"MEUCIGYGZq6uarGfwZqU+xuxrz9d+KSHr0JoVjvAeUQmKrNBAiEAirG+baGvYz54k3Rox491mk6o/ZhUleEP19ZFdPMosrk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2231210},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.esm.js","browser":"dist/universal/universal.iife.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.js"},"./universal":{"types":"./dist/universal/index.d.ts","import":"./dist/universal/universal.esm.js","require":"./dist/universal/universal.cjs.js"}},"gitHead":"a88418df06c302464fe493ffd6088ed8041cb5d3","scripts":{"dev":"vite","lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"npm run prebuild && tsc && vite build","format":"prettier --write \"src/**/*.{ts,tsx}\"","preview":"vite preview","prebuild":"node scripts/prebuild.cjs","build:all":"npm run build && npm run build:universal","storybook":"storybook dev -p 6006 --host 0.0.0.0","test:watch":"vitest --watch","build:watch":"tsc && vite build --watch","docs:generate":"tsx scripts/generate-docs.ts","build-storybook":"storybook build","build:universal":"tsc && vite build --config vite.universal.config.ts"},"unified":"dist/universal/universal.umd.js","_npmUser":{"name":"zhangmou0121","email":"sowanjie@outlook.com"},"_npmVersion":"10.9.4","description":"Frontend SDK for Hybrid AI Interactive Ad Network - React + Universal","directories":{},"_nodeVersion":"22.22.0","dependencies":{"swr":"^2.2.4"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.0.0","vite":"^5.0.8","react":"^18.2.0","eslint":"^8.55.0","vitest":"^1.0.4","postcss":"^8.4.32","prettier":"^3.1.1","react-dom":"^18.2.0","storybook":"^7.6.5","typescript":"^5.2.2","tailwindcss":"^3.3.6","@types/react":"^18.2.43","autoprefixer":"^10.4.16","tailwind-merge":"^2.1.0","vite-plugin-dts":"^4.5.4","@storybook/react":"^7.6.5","@types/react-dom":"^18.2.17","@storybook/blocks":"^7.6.5","@vitejs/plugin-react":"^4.2.1","@storybook/react-vite":"^7.6.5","@storybook/addon-links":"^7.6.5","@typescript-eslint/parser":"^6.14.0","eslint-plugin-react-hooks":"^4.6.0","@storybook/testing-library":"^0.2.2","@storybook/addon-essentials":"^7.6.5","@storybook/addon-onboarding":"^1.0.8","eslint-plugin-react-refresh":"^0.4.5","@storybook/addon-interactions":"^7.6.5","@typescript-eslint/eslint-plugin":"^6.14.0"},"peerDependencies":{"react":"^18.0.0","react-dom":"^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/frontend-sdk_1.0.9_1769592599969_0.01226728208632788","host":"s3://npm-registry-packages-npm-production"}},"1.0.10":{"name":"@ai-ad-network/frontend-sdk","version":"1.0.10","keywords":["ad-network","ai","react","vue","angular","typescript","native-ads","framework-agnostic"],"author":"","license":"MIT","_id":"@ai-ad-network/frontend-sdk@1.0.10","maintainers":[{"name":"zhangmou0121","email":"sowanjie@outlook.com"}],"dist":{"shasum":"91c3f6fd82b1f800081c2a78d96e57398f0d4ea5","tarball":"https://registry.npmjs.org/@ai-ad-network/frontend-sdk/-/frontend-sdk-1.0.10.tgz","fileCount":42,"integrity":"sha512-5nRqoh5eLIoNGvdodNh0FvgX7iYLhGcGq/h3fMjmBqaV2OSto2qxVWLkMOuDyO1qK8lQKzOELliEeopuRbDoJQ==","signatures":[{"sig":"MEYCIQDRTZmeqKdvKqes24Qjoa8INFWJP/HhHcRru0/Fny7ltgIhAPeldjAh6yKkXR8tiR7l7loXqh7Zf7arwsr8DGOCQuo4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2252176},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.esm.js","browser":"dist/universal/universal.iife.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.js"},"./universal":{"types":"./dist/universal/index.d.ts","import":"./dist/universal/universal.esm.js","require":"./dist/universal/universal.cjs.js"}},"gitHead":"a88418df06c302464fe493ffd6088ed8041cb5d3","scripts":{"dev":"vite","lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"npm run prebuild && tsc && vite build","format":"prettier --write \"src/**/*.{ts,tsx}\"","preview":"vite preview","prebuild":"node scripts/prebuild.cjs","build:all":"npm run build && npm run build:universal","storybook":"storybook dev -p 6006 --host 0.0.0.0","test:watch":"vitest --watch","build:watch":"tsc && vite build --watch","docs:generate":"tsx scripts/generate-docs.ts","build-storybook":"storybook build","build:universal":"tsc && vite build --config vite.universal.config.ts"},"unified":"dist/universal/universal.umd.js","_npmUser":{"name":"zhangmou0121","email":"sowanjie@outlook.com"},"_npmVersion":"10.9.4","description":"Frontend SDK for Hybrid AI Interactive Ad Network - React + Universal","directories":{},"_nodeVersion":"22.22.0","dependencies":{"swr":"^2.2.4"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.0.0","vite":"^5.0.8","react":"^18.2.0","eslint":"^8.55.0","vitest":"^1.0.4","postcss":"^8.4.32","prettier":"^3.1.1","react-dom":"^18.2.0","storybook":"^7.6.5","typescript":"^5.2.2","tailwindcss":"^3.3.6","@types/react":"^18.2.43","autoprefixer":"^10.4.16","tailwind-merge":"^2.1.0","vite-plugin-dts":"^4.5.4","@storybook/react":"^7.6.5","@types/react-dom":"^18.2.17","@storybook/blocks":"^7.6.5","@vitejs/plugin-react":"^4.2.1","@storybook/react-vite":"^7.6.5","@storybook/addon-links":"^7.6.5","@typescript-eslint/parser":"^6.14.0","eslint-plugin-react-hooks":"^4.6.0","@storybook/testing-library":"^0.2.2","@storybook/addon-essentials":"^7.6.5","@storybook/addon-onboarding":"^1.0.8","eslint-plugin-react-refresh":"^0.4.5","@storybook/addon-interactions":"^7.6.5","@typescript-eslint/eslint-plugin":"^6.14.0"},"peerDependencies":{"react":"^18.0.0","react-dom":"^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/frontend-sdk_1.0.10_1769595372940_0.19807906299158717","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@ai-ad-network/frontend-sdk","version":"1.1.0","keywords":["ad-network","ai","react","vue","angular","typescript","native-ads","framework-agnostic"],"author":"","license":"MIT","_id":"@ai-ad-network/frontend-sdk@1.1.0","maintainers":[{"name":"zhangmou0121","email":"sowanjie@outlook.com"}],"dist":{"shasum":"798fb7889f0f6ed55ae2128cacaa9c591bece592","tarball":"https://registry.npmjs.org/@ai-ad-network/frontend-sdk/-/frontend-sdk-1.1.0.tgz","fileCount":46,"integrity":"sha512-TQItA3c43SgS9P/AKxiJYE0CPus0Kx27yyxAPwAhE4RAR08005dtpdZplzhdCCF1WDNq7Qj2QQvo240BFlDe8Q==","signatures":[{"sig":"MEUCIHi/bnm2llgUqhCv/fa44ZyJuL7FmcPH7Rf2EXOkTG5qAiEAqvfxpUCqNWlunaBwc+YGq9vu2k7oo5Hp29goJR53D5U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2583415},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.esm.js","browser":"dist/universal/universal.iife.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.js"},"./universal":{"types":"./dist/universal/index.d.ts","import":"./dist/universal/universal.esm.js","require":"./dist/universal/universal.cjs.js"}},"gitHead":"b1e3ed4e0bd0cad57d815ccb2582180a643852b0","scripts":{"dev":"vite","lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"npm run prebuild && tsc && vite build","format":"prettier --write \"src/**/*.{ts,tsx}\"","preview":"vite preview","prebuild":"node scripts/prebuild.cjs","build:all":"npm run build && npm run build:universal","storybook":"storybook dev -p 6006 --host 0.0.0.0","test:watch":"vitest --watch","build:watch":"tsc && vite build --watch","docs:generate":"tsx scripts/generate-docs.ts","build-storybook":"storybook build","build:universal":"tsc && vite build --config vite.universal.config.ts"},"unified":"dist/universal/universal.umd.js","_npmUser":{"name":"zhangmou0121","email":"sowanjie@outlook.com"},"_npmVersion":"10.9.4","description":"Frontend SDK for Hybrid AI Interactive Ad Network - React + Universal","directories":{},"_nodeVersion":"22.22.0","dependencies":{"swr":"^2.2.4"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.0.0","vite":"^5.0.8","react":"^18.2.0","eslint":"^8.55.0","vitest":"^1.0.4","postcss":"^8.4.32","prettier":"^3.1.1","react-dom":"^18.2.0","storybook":"^7.6.5","typescript":"^5.2.2","tailwindcss":"^3.3.6","@types/react":"^18.2.43","autoprefixer":"^10.4.16","tailwind-merge":"^2.1.0","vite-plugin-dts":"^4.5.4","@storybook/react":"^7.6.5","@types/react-dom":"^18.2.17","@storybook/blocks":"^7.6.5","@vitejs/plugin-react":"^4.2.1","@storybook/react-vite":"^7.6.5","@storybook/addon-links":"^7.6.5","@typescript-eslint/parser":"^6.14.0","eslint-plugin-react-hooks":"^4.6.0","@storybook/testing-library":"^0.2.2","@storybook/addon-essentials":"^7.6.5","@storybook/addon-onboarding":"^1.0.8","eslint-plugin-react-refresh":"^0.4.5","@storybook/addon-interactions":"^7.6.5","@typescript-eslint/eslint-plugin":"^6.14.0"},"peerDependencies":{"react":"^18.0.0","react-dom":"^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/frontend-sdk_1.1.0_1769762688210_0.48284207571591264","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@ai-ad-network/frontend-sdk","version":"1.1.1","keywords":["ad-network","ai","react","vue","angular","typescript","native-ads","framework-agnostic"],"author":"","license":"MIT","_id":"@ai-ad-network/frontend-sdk@1.1.1","maintainers":[{"name":"zhangmou0121","email":"sowanjie@outlook.com"}],"dist":{"shasum":"e2509332abfd0e99f60f71cf7970fbdf860f030b","tarball":"https://registry.npmjs.org/@ai-ad-network/frontend-sdk/-/frontend-sdk-1.1.1.tgz","fileCount":59,"integrity":"sha512-9S8RPOmS1tehreNmH22v4MNi2Y8Cq6u1qeWHyNo4jh1Ex5LwDFQVNkEgGydSLbTSxOJ3nWx3SVvi/zeSoNM8VA==","signatures":[{"sig":"MEUCIEFTAhkxcbe9VTJIAx1gLRoIF26rSRWcQENCwuz2ZCTTAiEA+Zeqtue1EoylF/itKxN6E0Rw/n3V8G9Eo1JQUKj9YJY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2854760},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.esm.js","browser":"dist/universal/universal.iife.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.js"},"./universal":{"types":"./dist/universal/index.d.ts","import":"./dist/universal/universal.esm.js","require":"./dist/universal/universal.cjs.js"}},"gitHead":"b1e3ed4e0bd0cad57d815ccb2582180a643852b0","scripts":{"dev":"vite","lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"npm run prebuild && tsc && vite build","format":"prettier --write \"src/**/*.{ts,tsx}\"","preview":"vite preview","prebuild":"node scripts/prebuild.cjs","build:all":"npm run build && npm run build:universal","storybook":"storybook dev -p 6006 --host 0.0.0.0","test:watch":"vitest --watch","build:watch":"tsc && vite build --watch","docs:generate":"tsx scripts/generate-docs.ts","build-storybook":"storybook build","build:universal":"tsc && vite build --config vite.universal.config.ts"},"unified":"dist/universal/universal.umd.js","_npmUser":{"name":"zhangmou0121","email":"sowanjie@outlook.com"},"_npmVersion":"10.9.4","description":"Frontend SDK for Hybrid AI Interactive Ad Network - React + Universal","directories":{},"_nodeVersion":"22.22.0","dependencies":{"swr":"^2.2.4"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.0.0","vite":"^5.0.8","react":"^18.2.0","eslint":"^8.55.0","vitest":"^1.0.4","postcss":"^8.4.32","prettier":"^3.1.1","react-dom":"^18.2.0","storybook":"^7.6.5","typescript":"^5.2.2","tailwindcss":"^3.3.6","@types/react":"^18.2.43","autoprefixer":"^10.4.16","tailwind-merge":"^2.1.0","vite-plugin-dts":"^4.5.4","@storybook/react":"^7.6.5","@types/react-dom":"^18.2.17","@storybook/blocks":"^7.6.5","@vitejs/plugin-react":"^4.2.1","@storybook/react-vite":"^7.6.5","@storybook/addon-links":"^7.6.5","@typescript-eslint/parser":"^6.14.0","eslint-plugin-react-hooks":"^4.6.0","@storybook/testing-library":"^0.2.2","@storybook/addon-essentials":"^7.6.5","@storybook/addon-onboarding":"^1.0.8","eslint-plugin-react-refresh":"^0.4.5","@storybook/addon-interactions":"^7.6.5","@typescript-eslint/eslint-plugin":"^6.14.0"},"peerDependencies":{"react":"^18.0.0","react-dom":"^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/frontend-sdk_1.1.1_1769766180837_0.8446591830232959","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@ai-ad-network/frontend-sdk","version":"1.1.2","keywords":["ad-network","ai","react","vue","angular","typescript","native-ads","framework-agnostic"],"author":"","license":"MIT","_id":"@ai-ad-network/frontend-sdk@1.1.2","maintainers":[{"name":"zhangmou0121","email":"sowanjie@outlook.com"}],"dist":{"shasum":"16bef427e26643e7f9b2dc512bc2f0a9c0d70392","tarball":"https://registry.npmjs.org/@ai-ad-network/frontend-sdk/-/frontend-sdk-1.1.2.tgz","fileCount":60,"integrity":"sha512-0P8DL5DPL3YdEVc323Z292aPRdnbGqi65E/1G9gR58fyvMxyEEsmTKTJ1ul2P9NgmG0X0YTyeOxN0hAZEEamTg==","signatures":[{"sig":"MEUCIHDpbaorSztjJZt88Cx8BVxxNWQGyzBmpu/iwXkHmDSZAiEA83bw2uf+OawS1xQ6gOFvHh1zT/Zvs0hg1EWv79GkaFw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2881300},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.esm.js","browser":"dist/universal/universal.iife.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.js"},"./universal":{"types":"./dist/universal/index.d.ts","import":"./dist/universal/universal.esm.js","require":"./dist/universal/universal.cjs.js"}},"gitHead":"c7780a94a6f78a15e721230f39dc5ff5cb377372","scripts":{"dev":"vite","lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"npm run prebuild && tsc && vite build","format":"prettier --write \"src/**/*.{ts,tsx}\"","preview":"vite preview","prebuild":"node scripts/prebuild.cjs","build:all":"npm run build && npm run build:universal","storybook":"storybook dev -p 6006 --host 0.0.0.0","test:watch":"vitest --watch","build:watch":"tsc && vite build --watch","docs:generate":"tsx scripts/generate-docs.ts","build-storybook":"storybook build","build:universal":"tsc && vite build --config vite.universal.config.ts"},"unified":"dist/universal/universal.umd.js","_npmUser":{"name":"zhangmou0121","email":"sowanjie@outlook.com"},"_npmVersion":"10.9.4","description":"Frontend SDK for Hybrid AI Interactive Ad Network - React + Universal","directories":{},"_nodeVersion":"22.22.0","dependencies":{"swr":"^2.2.4"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.0.0","vite":"^5.0.8","react":"^18.2.0","eslint":"^8.55.0","vitest":"^1.0.4","postcss":"^8.4.32","prettier":"^3.1.1","react-dom":"^18.2.0","storybook":"^7.6.5","typescript":"^5.2.2","tailwindcss":"^3.3.6","@types/react":"^18.2.43","autoprefixer":"^10.4.16","tailwind-merge":"^2.1.0","vite-plugin-dts":"^4.5.4","@storybook/react":"^7.6.5","@types/react-dom":"^18.2.17","@storybook/blocks":"^7.6.5","@vitejs/plugin-react":"^4.2.1","@storybook/react-vite":"^7.6.5","@storybook/addon-links":"^7.6.5","@typescript-eslint/parser":"^6.14.0","eslint-plugin-react-hooks":"^4.6.0","@storybook/testing-library":"^0.2.2","@storybook/addon-essentials":"^7.6.5","@storybook/addon-onboarding":"^1.0.8","eslint-plugin-react-refresh":"^0.4.5","@storybook/addon-interactions":"^7.6.5","@typescript-eslint/eslint-plugin":"^6.14.0"},"peerDependencies":{"react":"^18.0.0","react-dom":"^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/frontend-sdk_1.1.2_1769926961624_0.8419036960069044","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"@ai-ad-network/frontend-sdk","version":"1.1.3","keywords":["ad-network","ai","react","vue","angular","typescript","native-ads","framework-agnostic"],"author":"","license":"MIT","_id":"@ai-ad-network/frontend-sdk@1.1.3","maintainers":[{"name":"zhangmou0121","email":"sowanjie@outlook.com"}],"dist":{"shasum":"b0510774b89895be7bc9972b7fcba244038039b0","tarball":"https://registry.npmjs.org/@ai-ad-network/frontend-sdk/-/frontend-sdk-1.1.3.tgz","fileCount":60,"integrity":"sha512-aXJLyHTRrWwlhk9Ox55QJSaB3S2ScAsOVsk6/4XVeoslM33zgnr31IRbxJNN6S9fDuYZ4IBEyw32v/uAvP3dAQ==","signatures":[{"sig":"MEUCIBK8GNZU797FOHTDxeEKUTsrOzmXvUratMKvxZSXUQi1AiEA8nLecdH7Y8TtyzQSJrLPIYhBsGNzihdfnEwkKr8DUxQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2884181},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.esm.js","browser":"dist/universal/universal.iife.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.js"},"./universal":{"types":"./dist/universal/index.d.ts","import":"./dist/universal/universal.esm.js","require":"./dist/universal/universal.cjs.js"}},"gitHead":"c7780a94a6f78a15e721230f39dc5ff5cb377372","scripts":{"dev":"vite","lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"npm run prebuild && tsc && vite build","format":"prettier --write \"src/**/*.{ts,tsx}\"","preview":"vite preview","prebuild":"node scripts/prebuild.cjs","build:all":"npm run build && npm run build:universal","storybook":"storybook dev -p 6006 --host 0.0.0.0","test:watch":"vitest --watch","build:watch":"tsc && vite build --watch","docs:generate":"tsx scripts/generate-docs.ts","build-storybook":"storybook build","build:universal":"tsc && vite build --config vite.universal.config.ts"},"unified":"dist/universal/universal.umd.js","_npmUser":{"name":"zhangmou0121","email":"sowanjie@outlook.com"},"_npmVersion":"10.9.4","description":"Frontend SDK for Hybrid AI Interactive Ad Network - React + Universal","directories":{},"_nodeVersion":"22.22.0","dependencies":{"swr":"^2.2.4"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.0.0","vite":"^5.0.8","react":"^18.2.0","eslint":"^8.55.0","vitest":"^1.0.4","postcss":"^8.4.32","prettier":"^3.1.1","react-dom":"^18.2.0","storybook":"^7.6.5","typescript":"^5.2.2","tailwindcss":"^3.3.6","@types/react":"^18.2.43","autoprefixer":"^10.4.16","tailwind-merge":"^2.1.0","vite-plugin-dts":"^4.5.4","@storybook/react":"^7.6.5","@types/react-dom":"^18.2.17","@storybook/blocks":"^7.6.5","@vitejs/plugin-react":"^4.2.1","@storybook/react-vite":"^7.6.5","@storybook/addon-links":"^7.6.5","@typescript-eslint/parser":"^6.14.0","eslint-plugin-react-hooks":"^4.6.0","@storybook/testing-library":"^0.2.2","@storybook/addon-essentials":"^7.6.5","@storybook/addon-onboarding":"^1.0.8","eslint-plugin-react-refresh":"^0.4.5","@storybook/addon-interactions":"^7.6.5","@typescript-eslint/eslint-plugin":"^6.14.0"},"peerDependencies":{"react":"^18.0.0","react-dom":"^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/frontend-sdk_1.1.3_1769936541007_0.02789697611711972","host":"s3://npm-registry-packages-npm-production"}},"1.1.4":{"name":"@ai-ad-network/frontend-sdk","version":"1.1.4","keywords":["ad-network","ai","react","vue","angular","typescript","native-ads","framework-agnostic"],"author":"","license":"MIT","_id":"@ai-ad-network/frontend-sdk@1.1.4","maintainers":[{"name":"zhangmou0121","email":"sowanjie@outlook.com"}],"dist":{"shasum":"4ecfa4e7fd541f8332a88f286f99199b16e0578d","tarball":"https://registry.npmjs.org/@ai-ad-network/frontend-sdk/-/frontend-sdk-1.1.4.tgz","fileCount":60,"integrity":"sha512-zBSARsYJBfspc6Fdwd7+VG/nHX8ADTx5vaiC4bwCGrX12VGVlv4o4zoH/5sm17Ox4jrXaGWx/gpsk3Ajt4gTVw==","signatures":[{"sig":"MEYCIQC/i/uKNNeibNHcYDBAW7GJYDopquVlJxBkJR4883h00wIhAJYxue6JHJUMN2BxXOUEEDJbs0DMpnLh13SjZC82t5OE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2885673},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.esm.js","browser":"dist/universal/universal.iife.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.js"},"./universal":{"types":"./dist/universal/index.d.ts","import":"./dist/universal/universal.esm.js","require":"./dist/universal/universal.cjs.js"}},"gitHead":"c7780a94a6f78a15e721230f39dc5ff5cb377372","scripts":{"dev":"vite","lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"npm run prebuild && tsc && vite build","format":"prettier --write \"src/**/*.{ts,tsx}\"","preview":"vite preview","prebuild":"node scripts/prebuild.cjs","build:all":"npm run build && npm run build:universal","storybook":"storybook dev -p 6006 --host 0.0.0.0","test:watch":"vitest --watch","build:watch":"tsc && vite build --watch","docs:generate":"tsx scripts/generate-docs.ts","build-storybook":"storybook build","build:universal":"tsc && vite build --config vite.universal.config.ts"},"unified":"dist/universal/universal.umd.js","_npmUser":{"name":"zhangmou0121","email":"sowanjie@outlook.com"},"_npmVersion":"10.9.4","description":"Frontend SDK for Hybrid AI Interactive Ad Network - React + Universal","directories":{},"_nodeVersion":"22.22.0","dependencies":{"swr":"^2.2.4"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.0.0","vite":"^5.0.8","react":"^18.2.0","eslint":"^8.55.0","vitest":"^1.0.4","postcss":"^8.4.32","prettier":"^3.1.1","react-dom":"^18.2.0","storybook":"^7.6.5","typescript":"^5.2.2","tailwindcss":"^3.3.6","@types/react":"^18.2.43","autoprefixer":"^10.4.16","tailwind-merge":"^2.1.0","vite-plugin-dts":"^4.5.4","@storybook/react":"^7.6.5","@types/react-dom":"^18.2.17","@storybook/blocks":"^7.6.5","@vitejs/plugin-react":"^4.2.1","@storybook/react-vite":"^7.6.5","@storybook/addon-links":"^7.6.5","@typescript-eslint/parser":"^6.14.0","eslint-plugin-react-hooks":"^4.6.0","@storybook/testing-library":"^0.2.2","@storybook/addon-essentials":"^7.6.5","@storybook/addon-onboarding":"^1.0.8","eslint-plugin-react-refresh":"^0.4.5","@storybook/addon-interactions":"^7.6.5","@typescript-eslint/eslint-plugin":"^6.14.0"},"peerDependencies":{"react":"^18.0.0","react-dom":"^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/frontend-sdk_1.1.4_1769937306454_0.9611055234593018","host":"s3://npm-registry-packages-npm-production"}},"1.1.5":{"name":"@ai-ad-network/frontend-sdk","version":"1.1.5","keywords":["ad-network","ai","react","vue","angular","typescript","native-ads","framework-agnostic"],"author":"","license":"MIT","_id":"@ai-ad-network/frontend-sdk@1.1.5","maintainers":[{"name":"zhangmou0121","email":"sowanjie@outlook.com"}],"dist":{"shasum":"1d1a44f5bc1f27cbd073cb864bd2f7291457e733","tarball":"https://registry.npmjs.org/@ai-ad-network/frontend-sdk/-/frontend-sdk-1.1.5.tgz","fileCount":60,"integrity":"sha512-D8iImk2nA5OX8eaL3MGND28CmVqV51g9CNhNxs7kYSl4vLGycCnw65DqDDEVC0Y+9iWDczYdqtqqKKYp/5Cg2A==","signatures":[{"sig":"MEUCIE5C6goW7TYo+9XHyjaprG3szgxI3P/STsCVRX5XESNZAiEA8NZeycXvD8B865UjMLlqWU8LqKwgUrlhyy7NNPSDOvM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2893028},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.esm.js","browser":"dist/universal/universal.iife.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.js"},"./universal":{"types":"./dist/universal/index.d.ts","import":"./dist/universal/universal.esm.js","require":"./dist/universal/universal.cjs.js"}},"gitHead":"c7780a94a6f78a15e721230f39dc5ff5cb377372","scripts":{"dev":"vite","lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"npm run prebuild && tsc && vite build","format":"prettier --write \"src/**/*.{ts,tsx}\"","preview":"vite preview","prebuild":"node scripts/prebuild.cjs","build:all":"npm run build && npm run build:universal","storybook":"storybook dev -p 6006 --host 0.0.0.0","test:watch":"vitest --watch","build:watch":"tsc && vite build --watch","docs:generate":"tsx scripts/generate-docs.ts","build-storybook":"storybook build","build:universal":"tsc && vite build --config vite.universal.config.ts"},"unified":"dist/universal/universal.umd.js","_npmUser":{"name":"zhangmou0121","email":"sowanjie@outlook.com"},"_npmVersion":"10.9.4","description":"Frontend SDK for Hybrid AI Interactive Ad Network - React + Universal","directories":{},"_nodeVersion":"22.22.0","dependencies":{"swr":"^2.2.4"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.0.0","vite":"^5.0.8","react":"^18.2.0","eslint":"^8.55.0","vitest":"^1.0.4","postcss":"^8.4.32","prettier":"^3.1.1","react-dom":"^18.2.0","storybook":"^7.6.5","typescript":"^5.2.2","tailwindcss":"^3.3.6","@types/react":"^18.2.43","autoprefixer":"^10.4.16","tailwind-merge":"^2.1.0","vite-plugin-dts":"^4.5.4","@storybook/react":"^7.6.5","@types/react-dom":"^18.2.17","@storybook/blocks":"^7.6.5","@vitejs/plugin-react":"^4.2.1","@storybook/react-vite":"^7.6.5","@storybook/addon-links":"^7.6.5","@typescript-eslint/parser":"^6.14.0","eslint-plugin-react-hooks":"^4.6.0","@storybook/testing-library":"^0.2.2","@storybook/addon-essentials":"^7.6.5","@storybook/addon-onboarding":"^1.0.8","eslint-plugin-react-refresh":"^0.4.5","@storybook/addon-interactions":"^7.6.5","@typescript-eslint/eslint-plugin":"^6.14.0"},"peerDependencies":{"react":"^18.0.0","react-dom":"^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/frontend-sdk_1.1.5_1769938537629_0.4339672619697694","host":"s3://npm-registry-packages-npm-production"}},"1.1.6":{"name":"@ai-ad-network/frontend-sdk","version":"1.1.6","keywords":["ad-network","ai","react","vue","angular","typescript","native-ads","framework-agnostic"],"author":"","license":"MIT","_id":"@ai-ad-network/frontend-sdk@1.1.6","maintainers":[{"name":"zhangmou0121","email":"sowanjie@outlook.com"}],"dist":{"shasum":"a46fe462fc6e3cb3a62d2c05dd3d2f85c9dbd081","tarball":"https://registry.npmjs.org/@ai-ad-network/frontend-sdk/-/frontend-sdk-1.1.6.tgz","fileCount":60,"integrity":"sha512-pxnWa6gD/m7xOviVa2+br+yXBCDCA2WXRXN3bdiFXzNcvHZ9czWLthEkg7l6xC2Ios2nSNM7b/p25vxsneP6og==","signatures":[{"sig":"MEYCIQCO6xVPE77eQPSIXjcRN97LdnGiZuNYi7Rxed6MpRg/BgIhAIa3FOWf7bU7BToTX/xtb7hwhDVUUb/Ck6I72r/qZ1CB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2893028},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.esm.js","browser":"dist/universal/universal.iife.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.js"},"./universal":{"types":"./dist/universal/index.d.ts","import":"./dist/universal/universal.esm.js","require":"./dist/universal/universal.cjs.js"}},"gitHead":"c7780a94a6f78a15e721230f39dc5ff5cb377372","scripts":{"dev":"vite","lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"npm run prebuild && tsc && vite build","format":"prettier --write \"src/**/*.{ts,tsx}\"","preview":"vite preview","prebuild":"node scripts/prebuild.cjs","build:all":"npm run build && npm run build:universal","storybook":"storybook dev -p 6006 --host 0.0.0.0","test:watch":"vitest --watch","build:watch":"tsc && vite build --watch","docs:generate":"tsx scripts/generate-docs.ts","build-storybook":"storybook build","build:universal":"tsc && vite build --config vite.universal.config.ts"},"unified":"dist/universal/universal.umd.js","_npmUser":{"name":"zhangmou0121","email":"sowanjie@outlook.com"},"_npmVersion":"10.9.4","description":"Frontend SDK for Hybrid AI Interactive Ad Network - React + Universal","directories":{},"_nodeVersion":"22.22.0","dependencies":{"swr":"^2.2.4"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.0.0","vite":"^5.0.8","react":"^18.2.0","eslint":"^8.55.0","vitest":"^1.0.4","postcss":"^8.4.32","prettier":"^3.1.1","react-dom":"^18.2.0","storybook":"^7.6.5","typescript":"^5.2.2","tailwindcss":"^3.3.6","@types/react":"^18.2.43","autoprefixer":"^10.4.16","tailwind-merge":"^2.1.0","vite-plugin-dts":"^4.5.4","@storybook/react":"^7.6.5","@types/react-dom":"^18.2.17","@storybook/blocks":"^7.6.5","@vitejs/plugin-react":"^4.2.1","@storybook/react-vite":"^7.6.5","@storybook/addon-links":"^7.6.5","@typescript-eslint/parser":"^6.14.0","eslint-plugin-react-hooks":"^4.6.0","@storybook/testing-library":"^0.2.2","@storybook/addon-essentials":"^7.6.5","@storybook/addon-onboarding":"^1.0.8","eslint-plugin-react-refresh":"^0.4.5","@storybook/addon-interactions":"^7.6.5","@typescript-eslint/eslint-plugin":"^6.14.0"},"peerDependencies":{"react":"^18.0.0","react-dom":"^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/frontend-sdk_1.1.6_1769938831428_0.7171547906931053","host":"s3://npm-registry-packages-npm-production"}},"1.1.7":{"name":"@ai-ad-network/frontend-sdk","version":"1.1.7","keywords":["ad-network","ai","react","vue","angular","typescript","native-ads","framework-agnostic"],"author":"","license":"MIT","_id":"@ai-ad-network/frontend-sdk@1.1.7","maintainers":[{"name":"zhangmou0121","email":"sowanjie@outlook.com"}],"dist":{"shasum":"cc8e52d7b9a5d32430e311faabea931a236e4438","tarball":"https://registry.npmjs.org/@ai-ad-network/frontend-sdk/-/frontend-sdk-1.1.7.tgz","fileCount":60,"integrity":"sha512-KAGrpIgdgJViwO7OrGWX4Ssz8Vt2Y8+AfV6FDFMZ9cEwutDH6tdgaesamjxIBWqM6JD0giKVZXWT2ruuXlfenw==","signatures":[{"sig":"MEUCIDrD8hQ6U96XJAvnhfzhGd1d3d7Xqj0tIH4ZAaflb6j5AiEA1JU5R/xWeHvXKgYpMKGLbHwVaUtcjDMfC0civKOrzCU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2894653},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.esm.js","browser":"dist/universal/universal.iife.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.js"},"./universal":{"types":"./dist/universal/index.d.ts","import":"./dist/universal/universal.esm.js","require":"./dist/universal/universal.cjs.js"}},"gitHead":"c7780a94a6f78a15e721230f39dc5ff5cb377372","scripts":{"dev":"vite","lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"npm run prebuild && tsc && vite build","format":"prettier --write \"src/**/*.{ts,tsx}\"","preview":"vite preview","prebuild":"node scripts/prebuild.cjs","build:all":"npm run build && npm run build:universal","storybook":"storybook dev -p 6006 --host 0.0.0.0","test:watch":"vitest --watch","build:watch":"tsc && vite build --watch","docs:generate":"tsx scripts/generate-docs.ts","build-storybook":"storybook build","build:universal":"tsc && vite build --config vite.universal.config.ts"},"unified":"dist/universal/universal.umd.js","_npmUser":{"name":"zhangmou0121","email":"sowanjie@outlook.com"},"_npmVersion":"10.9.4","description":"Frontend SDK for Hybrid AI Interactive Ad Network - React + Universal","directories":{},"_nodeVersion":"22.22.0","dependencies":{"swr":"^2.2.4"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.0.0","vite":"^5.0.8","react":"^18.2.0","eslint":"^8.55.0","vitest":"^1.0.4","postcss":"^8.4.32","prettier":"^3.1.1","react-dom":"^18.2.0","storybook":"^7.6.5","typescript":"^5.2.2","tailwindcss":"^3.3.6","@types/react":"^18.2.43","autoprefixer":"^10.4.16","tailwind-merge":"^2.1.0","vite-plugin-dts":"^4.5.4","@storybook/react":"^7.6.5","@types/react-dom":"^18.2.17","@storybook/blocks":"^7.6.5","@vitejs/plugin-react":"^4.2.1","@storybook/react-vite":"^7.6.5","@storybook/addon-links":"^7.6.5","@typescript-eslint/parser":"^6.14.0","eslint-plugin-react-hooks":"^4.6.0","@storybook/testing-library":"^0.2.2","@storybook/addon-essentials":"^7.6.5","@storybook/addon-onboarding":"^1.0.8","eslint-plugin-react-refresh":"^0.4.5","@storybook/addon-interactions":"^7.6.5","@typescript-eslint/eslint-plugin":"^6.14.0"},"peerDependencies":{"react":"^18.0.0","react-dom":"^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/frontend-sdk_1.1.7_1769939519202_0.3055096503900332","host":"s3://npm-registry-packages-npm-production"}},"1.1.8":{"name":"@ai-ad-network/frontend-sdk","version":"1.1.8","keywords":["ad-network","ai","react","vue","angular","typescript","native-ads","framework-agnostic"],"author":"","license":"MIT","_id":"@ai-ad-network/frontend-sdk@1.1.8","maintainers":[{"name":"zhangmou0121","email":"sowanjie@outlook.com"}],"dist":{"shasum":"85a9e88de6808780c98e8072f1024d2f823c59da","tarball":"https://registry.npmjs.org/@ai-ad-network/frontend-sdk/-/frontend-sdk-1.1.8.tgz","fileCount":66,"integrity":"sha512-/6lwFEGhn6G5Fj3vmoiA2IE+C6Q5s1FQcKKV/vpk7AyUkrumng7ywi43myzGH1Nm0dKERblAmoWOjv6OIiUfCw==","signatures":[{"sig":"MEUCIAjUoK1S3XNGxmAqkKWllkBPxaHRS7audbIr3l/dWc+MAiEAvHok5FdnDvae2RgEkE1ArzEyz4Rprp5GG3L4X4UH2JU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3226672},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.esm.js","browser":"dist/universal/universal.iife.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.js"},"./universal":{"types":"./dist/universal/index.d.ts","import":"./dist/universal/universal.esm.js","require":"./dist/universal/universal.cjs.js"}},"gitHead":"58e168f7acd49818c8cc35d2d82ae725e40f8eb5","scripts":{"dev":"vite","lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"npm run prebuild && tsc && vite build","format":"prettier --write \"src/**/*.{ts,tsx}\"","preview":"vite preview","prebuild":"node scripts/prebuild.cjs","build:all":"npm run build && npm run build:universal","storybook":"storybook dev -p 6006 --host 0.0.0.0","test:watch":"vitest --watch","build:watch":"tsc && vite build --watch","docs:generate":"tsx scripts/generate-docs.ts","build-storybook":"storybook build","build:universal":"tsc && vite build --config vite.universal.config.ts"},"unified":"dist/universal/universal.umd.js","_npmUser":{"name":"zhangmou0121","email":"sowanjie@outlook.com"},"_npmVersion":"10.9.4","description":"Frontend SDK for Hybrid AI Interactive Ad Network - React + Universal","directories":{},"_nodeVersion":"22.22.0","dependencies":{"swr":"^2.2.4"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.0.0","vite":"^5.0.8","jsdom":"^28.0.0","react":"^18.2.0","eslint":"^8.55.0","vitest":"^1.0.4","postcss":"^8.4.32","prettier":"^3.1.1","react-dom":"^18.2.0","storybook":"^7.6.5","typescript":"^5.2.2","tailwindcss":"^3.3.6","@types/react":"^18.2.43","autoprefixer":"^10.4.16","tailwind-merge":"^2.1.0","vite-plugin-dts":"^4.5.4","@storybook/react":"^7.6.5","@types/react-dom":"^18.2.17","@storybook/blocks":"^7.6.5","@vitejs/plugin-react":"^4.2.1","@storybook/react-vite":"^7.6.5","@storybook/addon-links":"^7.6.5","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^6.14.0","eslint-plugin-react-hooks":"^4.6.0","@storybook/testing-library":"^0.2.2","@storybook/addon-essentials":"^7.6.5","@storybook/addon-onboarding":"^1.0.8","@testing-library/user-event":"^14.6.1","eslint-plugin-react-refresh":"^0.4.5","@storybook/addon-interactions":"^7.6.5","@typescript-eslint/eslint-plugin":"^6.14.0"},"peerDependencies":{"react":"^18.0.0","react-dom":"^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/frontend-sdk_1.1.8_1770178079506_0.04782043723630447","host":"s3://npm-registry-packages-npm-production"}},"1.1.9":{"name":"@ai-ad-network/frontend-sdk","version":"1.1.9","keywords":["ad-network","ai","react","vue","angular","typescript","native-ads","framework-agnostic"],"author":"","license":"MIT","_id":"@ai-ad-network/frontend-sdk@1.1.9","maintainers":[{"name":"zhangmou0121","email":"sowanjie@outlook.com"}],"dist":{"shasum":"b65280ffe1e0f3fadd1e5b23229c1b9417bd19ca","tarball":"https://registry.npmjs.org/@ai-ad-network/frontend-sdk/-/frontend-sdk-1.1.9.tgz","fileCount":66,"integrity":"sha512-GH3a4l63V9fUuAGEvqDjTAzpEXvPY+mUj8JaQl1W1PUQkiDHvFl9hq6JEd91dI8uBebpsqPRXUBCT1Zmiua2jg==","signatures":[{"sig":"MEUCIH4cFP1fmEo9GYceaE50LDYTAxfjVyPRbrAotlMFBcM1AiEAh/UyZGTOCh1IsA8AI5GpY/xv3cP0Iot1eMV7Wq3nffQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3228226},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.esm.js","browser":"dist/universal/universal.iife.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.js"},"./universal":{"types":"./dist/universal/index.d.ts","import":"./dist/universal/universal.esm.js","require":"./dist/universal/universal.cjs.js"}},"gitHead":"78efdeab82605904c07ee3eb5703b58a513d83ec","scripts":{"dev":"vite","lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"npm run prebuild && tsc && vite build","format":"prettier --write \"src/**/*.{ts,tsx}\"","preview":"vite preview","prebuild":"node scripts/prebuild.cjs","build:all":"npm run build && npm run build:universal","storybook":"storybook dev -p 6006 --host 0.0.0.0","test:watch":"vitest --watch","build:watch":"tsc && vite build --watch","docs:generate":"tsx scripts/generate-docs.ts","build-storybook":"storybook build","build:universal":"tsc && vite build --config vite.universal.config.ts"},"unified":"dist/universal/universal.umd.js","_npmUser":{"name":"zhangmou0121","email":"sowanjie@outlook.com"},"_npmVersion":"10.9.4","description":"Frontend SDK for Hybrid AI Interactive Ad Network - React + Universal","directories":{},"_nodeVersion":"22.22.0","dependencies":{"swr":"^2.2.4"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.0.0","vite":"^5.0.8","jsdom":"^28.0.0","react":"^18.2.0","eslint":"^8.55.0","vitest":"^1.0.4","postcss":"^8.4.32","prettier":"^3.1.1","react-dom":"^18.2.0","storybook":"^7.6.5","typescript":"^5.2.2","tailwindcss":"^3.3.6","@types/react":"^18.2.43","autoprefixer":"^10.4.16","tailwind-merge":"^2.1.0","vite-plugin-dts":"^4.5.4","@storybook/react":"^7.6.5","@types/react-dom":"^18.2.17","@storybook/blocks":"^7.6.5","@vitejs/plugin-react":"^4.2.1","@storybook/react-vite":"^7.6.5","@storybook/addon-links":"^7.6.5","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^6.14.0","eslint-plugin-react-hooks":"^4.6.0","@storybook/testing-library":"^0.2.2","@storybook/addon-essentials":"^7.6.5","@storybook/addon-onboarding":"^1.0.8","@testing-library/user-event":"^14.6.1","eslint-plugin-react-refresh":"^0.4.5","@storybook/addon-interactions":"^7.6.5","@typescript-eslint/eslint-plugin":"^6.14.0"},"peerDependencies":{"react":"^18.0.0","react-dom":"^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/frontend-sdk_1.1.9_1770193870050_0.07884061572571865","host":"s3://npm-registry-packages-npm-production"}},"1.1.10":{"name":"@ai-ad-network/frontend-sdk","version":"1.1.10","keywords":["ad-network","ai","react","vue","angular","typescript","native-ads","framework-agnostic"],"author":"","license":"MIT","_id":"@ai-ad-network/frontend-sdk@1.1.10","maintainers":[{"name":"zhangmou0121","email":"sowanjie@outlook.com"}],"dist":{"shasum":"0409d5804c081ee9d4d73c2a95beb6e34fbd7a11","tarball":"https://registry.npmjs.org/@ai-ad-network/frontend-sdk/-/frontend-sdk-1.1.10.tgz","fileCount":66,"integrity":"sha512-DZLCPF9jQsBNePPHjBfhBJIbW/ZzWQrJg8z4KzMBwCB/CgQ0nzl8j/HQVvDfZskAF0RJFEz8/BjOfVzzXL/mGQ==","signatures":[{"sig":"MEUCIB9EehWzLv/eT4/6l/sppYFtQ813+d35J6ByMYOuUvWYAiEAkrLiX86ZxCc/eRR8ShX/tHOv7iWDxD3Qu9xzOM6IOoM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3227250},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.esm.js","browser":"dist/universal/universal.iife.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.js"},"./universal":{"types":"./dist/universal/index.d.ts","import":"./dist/universal/universal.esm.js","require":"./dist/universal/universal.cjs.js"}},"gitHead":"7858732c9c6a3b89d786906b9674f5444dabdb4f","scripts":{"dev":"vite","lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"npm run prebuild && tsc && vite build","format":"prettier --write \"src/**/*.{ts,tsx}\"","preview":"vite preview","prebuild":"node scripts/prebuild.cjs","build:all":"npm run build && npm run build:universal","storybook":"storybook dev -p 6006 --host 0.0.0.0","test:watch":"vitest --watch","build:watch":"tsc && vite build --watch","docs:generate":"tsx scripts/generate-docs.ts","build-storybook":"storybook build","build:universal":"tsc && vite build --config vite.universal.config.ts"},"unified":"dist/universal/universal.umd.js","_npmUser":{"name":"zhangmou0121","email":"sowanjie@outlook.com"},"_npmVersion":"10.9.4","description":"Frontend SDK for Hybrid AI Interactive Ad Network - React + Universal","directories":{},"_nodeVersion":"22.22.0","dependencies":{"swr":"^2.2.4"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.0.0","vite":"^5.0.8","jsdom":"^28.0.0","react":"^18.2.0","eslint":"^8.55.0","vitest":"^1.0.4","postcss":"^8.4.32","prettier":"^3.1.1","react-dom":"^18.2.0","storybook":"^7.6.5","typescript":"^5.2.2","tailwindcss":"^3.3.6","@types/react":"^18.2.43","autoprefixer":"^10.4.16","tailwind-merge":"^2.1.0","vite-plugin-dts":"^4.5.4","@storybook/react":"^7.6.5","@types/react-dom":"^18.2.17","@storybook/blocks":"^7.6.5","@vitejs/plugin-react":"^4.2.1","@storybook/react-vite":"^7.6.5","@storybook/addon-links":"^7.6.5","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@typescript-eslint/parser":"^6.14.0","eslint-plugin-react-hooks":"^4.6.0","@storybook/testing-library":"^0.2.2","@storybook/addon-essentials":"^7.6.5","@storybook/addon-onboarding":"^1.0.8","@testing-library/user-event":"^14.6.1","eslint-plugin-react-refresh":"^0.4.5","@storybook/addon-interactions":"^7.6.5","@typescript-eslint/eslint-plugin":"^6.14.0"},"peerDependencies":{"react":"^18.0.0","react-dom":"^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/frontend-sdk_1.1.10_1770537754933_0.5213192967637259","host":"s3://npm-registry-packages-npm-production"}},"1.1.11":{"name":"@ai-ad-network/frontend-sdk","version":"1.1.11","type":"module","description":"Frontend SDK for Hybrid AI Interactive Ad Network - React + Universal","main":"dist/index.js","module":"dist/index.esm.js","types":"dist/index.d.ts","unified":"dist/universal/universal.umd.js","browser":"dist/universal/universal.iife.js","exports":{".":{"import":"./dist/index.esm.js","require":"./dist/index.js","types":"./dist/index.d.ts"},"./universal":{"import":"./dist/universal/universal.esm.js","require":"./dist/universal/universal.cjs.js","types":"./dist/universal/index.d.ts"}},"scripts":{"dev":"vite","prebuild":"node scripts/prebuild.cjs","build":"npm run prebuild && tsc && vite build","build:universal":"tsc && vite build --config vite.universal.config.ts","build:all":"npm run build && npm run build:universal","build:watch":"tsc && vite build --watch","preview":"vite preview","lint":"eslint src --ext .ts,.tsx","format":"prettier --write \"src/**/*.{ts,tsx}\"","test":"vitest","test:watch":"vitest --watch","storybook":"storybook dev -p 6006 --host 0.0.0.0","build-storybook":"storybook build","docs:generate":"tsx scripts/generate-docs.ts"},"keywords":["ad-network","ai","react","vue","angular","typescript","native-ads","framework-agnostic"],"author":"","license":"MIT","peerDependencies":{"react":"^18.0.0","react-dom":"^18.0.0"},"dependencies":{"swr":"^2.2.4"},"devDependencies":{"@storybook/addon-essentials":"^7.6.5","@storybook/addon-interactions":"^7.6.5","@storybook/addon-links":"^7.6.5","@storybook/addon-onboarding":"^1.0.8","@storybook/blocks":"^7.6.5","@storybook/react":"^7.6.5","@storybook/react-vite":"^7.6.5","@storybook/testing-library":"^0.2.2","@testing-library/jest-dom":"^6.9.1","@testing-library/react":"^16.3.2","@testing-library/user-event":"^14.6.1","@types/react":"^18.2.43","@types/react-dom":"^18.2.17","@typescript-eslint/eslint-plugin":"^6.14.0","@typescript-eslint/parser":"^6.14.0","@vitejs/plugin-react":"^4.2.1","autoprefixer":"^10.4.16","clsx":"^2.0.0","eslint":"^8.55.0","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-react-refresh":"^0.4.5","jsdom":"^28.0.0","postcss":"^8.4.32","prettier":"^3.1.1","react":"^18.2.0","react-dom":"^18.2.0","storybook":"^7.6.5","tailwind-merge":"^2.1.0","tailwindcss":"^3.3.6","typescript":"^5.2.2","vite":"^5.0.8","vite-plugin-dts":"^4.5.4","vitest":"^1.0.4"},"_id":"@ai-ad-network/frontend-sdk@1.1.11","gitHead":"ea239eea0d7e6149d81a9e08393cef833583b042","_nodeVersion":"22.22.0","_npmVersion":"10.9.4","dist":{"integrity":"sha512-16jp2Wotqykd7ioWLN8hACgJqUsimqW7tqQW2ckvkUduofyevY1WlJcWJWwmGR6GzMbKoZ6l9zuQSomsRBfvsQ==","shasum":"57252b9e0a4fafcf444ebdd2103cc5c161e804dd","tarball":"https://registry.npmjs.org/@ai-ad-network/frontend-sdk/-/frontend-sdk-1.1.11.tgz","fileCount":70,"unpackedSize":4033697,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCICtqsbHVsjXuCe8L7+PsYlWVlGgch+mFdQD9+brFgTnQAiA9yQeECEBiRPhhPs6448cr2J6ezYpTy0KbmDv/IGJiug=="}]},"_npmUser":{"name":"zhangmou0121","email":"sowanjie@outlook.com"},"directories":{},"maintainers":[{"name":"zhangmou0121","email":"sowanjie@outlook.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/frontend-sdk_1.1.11_1772444132540_0.7477004498364035"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-22T12:30:31.562Z","modified":"2026-03-02T09:35:32.882Z","1.0.0":"2026-01-22T12:30:31.826Z","1.0.1":"2026-01-24T11:05:21.655Z","1.0.2":"2026-01-26T06:50:08.097Z","1.0.3":"2026-01-26T10:10:50.903Z","1.0.4":"2026-01-26T11:08:56.960Z","1.0.5":"2026-01-26T12:39:56.890Z","1.0.6":"2026-01-26T14:23:26.022Z","1.0.7":"2026-01-26T15:47:30.375Z","1.0.8":"2026-01-28T05:56:27.698Z","1.0.9":"2026-01-28T09:30:00.208Z","1.0.10":"2026-01-28T10:16:13.109Z","1.1.0":"2026-01-30T08:44:48.404Z","1.1.1":"2026-01-30T09:43:01.025Z","1.1.2":"2026-02-01T06:22:41.805Z","1.1.3":"2026-02-01T09:02:21.231Z","1.1.4":"2026-02-01T09:15:06.663Z","1.1.5":"2026-02-01T09:35:37.836Z","1.1.6":"2026-02-01T09:40:31.649Z","1.1.7":"2026-02-01T09:51:59.389Z","1.1.8":"2026-02-04T04:07:59.726Z","1.1.9":"2026-02-04T08:31:10.238Z","1.1.10":"2026-02-08T08:02:35.126Z","1.1.11":"2026-03-02T09:35:32.747Z"},"license":"MIT","keywords":["ad-network","ai","react","vue","angular","typescript","native-ads","framework-agnostic"],"description":"Frontend SDK for Hybrid AI Interactive Ad Network - React + Universal","maintainers":[{"name":"zhangmou0121","email":"sowanjie@outlook.com"}],"readme":"# AI Ad Network Frontend SDK\n\n> 🚀 **Zero-config** SDK for AI-powered native ads with automatic client info collection\n>\n> **📦 Dual SDK Support**: React + Universal (Framework-Agnostic)\n>\n> **Version**: 1.0.7\n\n---\n\n## 🎯 Quick Start\n\n### React Projects\n\n```bash\nnpm install @ai-ad-network/frontend-sdk\n```\n\n```tsx\n// 1. Wrap your app\nimport { AdProvider } from '@ai-ad-network/frontend-sdk';\n\n<AdProvider config={{ apiBaseUrl: '/api/v1', apiKey: 'ak_your_key' }}>\n  <App />\n</AdProvider>\n\n// 2. Display ads\nimport { useAiAds, ActionCardAdV2 } from '@ai-ad-network/frontend-sdk';\n\nfunction ChatApp() {\n  const { ads, requestId } = useAiAds(query, response, isFinished);\n\n  return ads.map((ad, index) => (\n    <ActionCardAdV2\n      key={ad.id}\n      ad={ad}\n      requestId={requestId}\n      slotId=\"slot-1\"\n      position={index}\n      totalAds={ads.length}\n    />\n  ));\n}\n```\n\n### Other Frameworks (Vue, Angular, Vanilla JS)\n\n```bash\nnpm install @ai-ad-network/frontend-sdk\n```\n\n```javascript\nimport { AdManager, DOMRenderer } from '@ai-ad-network/frontend-sdk/universal';\n\nconst manager = new AdManager({\n  apiBaseUrl: '/api/v1',\n  apiKey: 'ak_your_key',\n  slots: [{ slotId: 'banner', position: 'top', adTypes: ['action-card'] }]\n});\n\nconst result = await manager.requestAds({ conversationContext: { query } });\nDOMRenderer.renderActionCardWithAnalytics(result.slots[0].ads[0], container, {\n  analytics: { requestId: result.requestId, slotId: 'banner', position: 0, totalAds: 1 },\n  manager\n});\n```\n\n---\n\n## 📚 Documentation\n\n📖 **[Complete Documentation →](./docs)**\n\n### 中文文档 | Chinese Docs\n\n| 文档 | 说明 |\n|------|------|\n| [快速开始指南](./docs/QUICK_START_CN.md) | 3分钟快速集成 |\n| [完整使用文档](./docs/COMPLETE_GUIDE_CN.md) | 详细 API 说明和最佳实践 |\n| [问题排查指南](./docs/TROUBLESHOOTING_CN.md) | 常见问题和解决方案 |\n\n### English Documentation\n\n### Getting Started\n\n| Guide | Description |\n|-------|-------------|\n| [Installation](./docs/getting-started/installation.md) | Install and configure the SDK |\n| [React Integration](./docs/integration/react.md) | Step-by-step React setup (3 min) |\n| [Universal Integration](./docs/integration/universal.md) | Vue, Angular, Vanilla JS setup (3 min) |\n\n### Core Features\n\n| Guide | Description |\n|-------|-------------|\n| [Analytics Tracking](./docs/guides/analytics.md) | Impression & click tracking (V2 API) |\n| [ClientInfo API](./docs/guides/client-info.md) | Access device, user, app, geo data |\n| [Ad Formats](./docs/reference/formats.md) | 7 native ad formats explained |\n\n### API Reference\n\n| Reference | Description |\n|-----------|-------------|\n| [React SDK API](./docs/api/react.md) | Hooks, components, types |\n| [Universal SDK API](./docs/api/universal.md) | AdManager, renderers, Web Components |\n\n### Support\n\n| Guide | Description |\n|-------|-------------|\n| [Troubleshooting](./docs/support/troubleshooting.md) | Common issues & solutions |\n| [Migration Guide](./docs/guides/migration.md) | V1 → V2 Analytics API migration |\n\n---\n\n## ✨ Features\n\n| Feature | Description |\n|---------|-------------|\n| 🎯 **Intent-based Ads** | Ads matched to user intent |\n| 🎨 **7 Native Formats** | Action Cards, Suffix, Sponsored Sources, Lead Gen, and more |\n| 📊 **V2 Analytics API** | POST-based impression/click tracking (more reliable) |\n| 🌐 **OpenRTB Compliant** | Zero-config auto-collection of device/app/user/geo data |\n| ⚡ **Optimized Performance** | SWR caching, Intersection Observer, code splitting |\n| 🎭 **Headless Design** | Full customization with CSS variables |\n| 🌐 **Framework-Agnostic** | Works with React, Vue, Angular, Svelte, Vanilla JS, etc. |\n\n---\n\n## 📦 Package Exports\n\n```json\n{\n  \"exports\": {\n    \".\": {\n      \"import\": \"./dist/index.esm.js\",\n      \"require\": \"./dist/index.js\",\n      \"types\": \"./dist/index.d.ts\"\n    },\n    \"./universal\": {\n      \"import\": \"./dist/universal/universal.esm.js\",\n      \"require\": \"./dist/universal/universal.cjs.js\",\n      \"types\": \"./dist/universal/universal.d.ts\"\n    }\n  }\n}\n```\n\n---\n\n## 🎨 Available Ad Formats\n\n| Format | React Component | Universal Method | Best For |\n|--------|-----------------|------------------|----------|\n| Action Card | `ActionCardAdV2` | `DOMRenderer.renderActionCard()` | E-commerce, products |\n| Suffix | `SuffixAdV2` | `DOMRenderer.renderSuffixAd()` | Conversational ads |\n| Sponsored Source | `SponsoredSourceAdV2` | `DOMRenderer.renderSponsoredSource()` | Content citations |\n| Lead Generation | `LeadGenAd` | `DOMRenderer.renderLeadGenAd()` | Lead capture, signups |\n\n📖 **[Ad Formats Reference](./docs/reference/formats.md)** - Complete format guide\n\n---\n\n## 🆕 What's New\n\n### V2 Analytics API (Current Version)\n\n- ✅ POST-based impression/click tracking (more reliable than pixel tracking)\n- ✅ Request-level analytics with `requestId`\n- ✅ Ad coordinates: `(requestId, slotId, position, totalAds)`\n- ✅ Session management for user journey tracking\n- ✅ Backward compatible with V1 pixel tracking\n\n**New Components:** `ActionCardAdV2`, `SuffixAdV2`, `SponsoredSourceAdV2`\n\n**New Hooks:** `useAdTrackingV2`\n\n**New Methods:** `AdManager.trackAdImpressionAPI()`, `AdManager.trackAdClick()`\n\n---\n\n## ⚙️ Configuration\n\n### AdProvider Config (React)\n\n```tsx\n<AdProvider\n  config={{\n    apiBaseUrl: string,      // Required: API base URL\n    apiKey?: string,         // Optional: API key (if not using backend proxy)\n    debug?: boolean,         // Optional: Enable debug logging\n    enabled?: boolean,       // Optional: Globally enable/disable ads\n    defaultFormats?: AdFormat[] // Optional: Default ad formats\n  }}\n>\n```\n\n### AdManager Config (Universal)\n\n```javascript\nconst manager = new AdManager({\n  apiBaseUrl: string,        // Required: API base URL\n  apiKey?: string,           // Optional: API key\n  slots?: AdSlotConfig[],    // Optional: Predefined slots\n  enabled?: boolean          // Optional: Enable/disable ads (default: true)\n});\n```\n\n---\n\n## 🔐 Security Best Practices\n\n### Recommended: Backend Proxy Mode\n\n```typescript\n// Backend proxy (Node.js/Express)\napp.post('/api/ads/request', async (req, res) => {\n  const AD_API_KEY = process.env.AD_API_KEY; // Server-side only\n  const response = await fetch('https://api.example.com/v1/ads/request', {\n    headers: { 'X-API-Key': AD_API_KEY },\n    body: JSON.stringify(req.body)\n  });\n  res.json(await response.json());\n});\n```\n\n```tsx\n// Frontend - No API key exposed\n<AdProvider config={{ apiBaseUrl: '/api/ads' }}>\n  <App />\n</AdProvider>\n```\n\n📖 **[Security Guide](./docs/getting-started/installation.md#security)** - Complete security documentation\n\n---\n\n## ✅ Integration Checklist\n\n- [ ] SDK installed (`npm install @ai-ad-network/frontend-sdk`)\n- [ ] Console shows SDK v1.0.7+\n- [ ] React: App wrapped with `<AdProvider>`\n- [ ] Universal: `AdManager` initialized\n- [ ] API key configured (or backend proxy set up)\n- [ ] Network requests include `clientInfo` field\n- [ ] Ads are rendering\n- [ ] Analytics events firing (check Network tab)\n\n**Done? 🎉 Successfully integrated!**\n\n---\n\n## 🆘 Support\n\n- 📧 **Email:** support@ai-ad-network.com\n- 📖 **Docs:** [https://docs.ai-ad-network.com](https://docs.ai-ad-network.com)\n- 🐛 **Issues:** [https://github.com/ai-ad-network/frontend-sdk/issues](https://github.com/ai-ad-network/frontend-sdk/issues)\n\n---\n\n## 📄 License\n\nMIT\n\n---\n\n**SDK Version:** 1.0.7\n**Last Updated:** 2026-02-04\n","readmeFilename":"README.md"}