{"_id":"@anveshan/sdk","_rev":"15-1382183de982a885362726af5b4dbe65","name":"@anveshan/sdk","dist-tags":{"latest":"0.5.0"},"versions":{"0.1.0":{"name":"@anveshan/sdk","version":"0.1.0","license":"UNLICENSED","_id":"@anveshan/sdk@0.1.0","maintainers":[{"name":"ajaysrawat","email":"ajay.rawat@anveshan.farm"}],"bin":{"anveshan-manifest":"src/generate-manifest.mjs"},"dist":{"shasum":"aedb9423fdac4cd37c47a7b525757ae07a9fa572","tarball":"https://registry.npmjs.org/@anveshan/sdk/-/sdk-0.1.0.tgz","fileCount":40,"integrity":"sha512-8OZUmFxEMwxonYWjqFYTJHk7wyITXkCE3+t7UXlK2GNSnTRqDmp07uAAR6jIk+3883JiLBuqIGpKzK/m7Y1oGg==","signatures":[{"sig":"MEQCIBWU60HRyjofqxF0qWCsIyLPsapllunBkeFwDGVo6nxsAiALnlnPqT/8zBe9BBNtdzYxQmhH8dzu4OxFUGYqKRPrtw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":175405},"type":"module","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"./native":{"types":"./dist/native.d.ts","default":"./dist/native.js"},"./babel-plugin":{"default":"./src/babel-plugin.cjs"},"./package.json":"./package.json"},"gitHead":"d8d5db8f52ada2deba8739ce2367605b3baa3120","scripts":{"build":"tsc -p tsconfig.build.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"ajaysrawat","email":"ajay.rawat@anveshan.farm"},"_npmVersion":"10.8.2","description":"A/B testing and remote config for React Native and web — bucketing, variant resolution and conversion tracking.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7","@types/react":"^19","react-native":"^0.86.0"},"peerDependencies":{"react":">=18.0.0","@babel/core":">=7.20.0","react-native":">=0.74.0"},"peerDependenciesMeta":{"react":{"optional":true},"@babel/core":{"optional":true},"react-native":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.1.0_1785155631104_0.45838949030071396","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@anveshan/sdk","version":"0.2.0","license":"UNLICENSED","_id":"@anveshan/sdk@0.2.0","maintainers":[{"name":"ajaysrawat","email":"ajay.rawat@anveshan.farm"}],"bin":{"anveshan-manifest":"src/generate-manifest.mjs"},"dist":{"shasum":"af47fbef042c7161b57be8c5012ba26fa3b3c2bc","tarball":"https://registry.npmjs.org/@anveshan/sdk/-/sdk-0.2.0.tgz","fileCount":57,"integrity":"sha512-X5sF9NQMcFdFnPVwJ6HJ2vEOacqI/Lto0/tQp3awHIUNUTriqyLB1FOKKY+5BMsCHQMuwANctk8UfO/7xZvLDQ==","signatures":[{"sig":"MEUCIQC0HIVoTIjZYEvROFh3x0qxA2BQHxNFKMBvF9+8sQzv8QIgRVmadc5D5V26hJEoCLaoG/j7Dqx5HJ0TdifVQmadYvw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":218161},"type":"module","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"./native":{"types":"./dist/native.d.ts","default":"./dist/native.js"},"./babel-plugin":{"default":"./src/babel-plugin.cjs"},"./package.json":"./package.json"},"gitHead":"ec9cb4bfd10fdc6ce2ab71fd15d86349559820e0","scripts":{"build":"tsc -p tsconfig.build.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"ajaysrawat","email":"ajay.rawat@anveshan.farm"},"_npmVersion":"10.8.2","description":"A/B testing and remote config for React Native and web — bucketing, variant resolution and conversion tracking.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7","@types/react":"^19","react-native":"^0.86.0"},"peerDependencies":{"react":">=18.0.0","@babel/core":">=7.20.0","react-native":">=0.74.0"},"peerDependenciesMeta":{"react":{"optional":true},"@babel/core":{"optional":true},"react-native":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.2.0_1785211420597_0.6081980669366698","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@anveshan/sdk","version":"0.2.1","license":"UNLICENSED","_id":"@anveshan/sdk@0.2.1","maintainers":[{"name":"ajaysrawat","email":"ajay.rawat@anveshan.farm"}],"bin":{"anveshan-manifest":"src/generate-manifest.mjs"},"dist":{"shasum":"9876054b2624403beb661b49d1f773cedd8bf175","tarball":"https://registry.npmjs.org/@anveshan/sdk/-/sdk-0.2.1.tgz","fileCount":57,"integrity":"sha512-sVdOBI+fpY98cKtmxa6W0TCtuQ1hLWSz7Ctn/x+TFZxJgjhcFLH38AISU2X5gbb8TzgyjDH8L9jKoWO+e/e6Hw==","signatures":[{"sig":"MEYCIQCy5oUJKJeDXyssQ+Sr8tIFFeLaCIOPAPRkcEgDwuggZgIhAL26UVkV/xsep8d5IRvDMNJmTj0l1FvPSIoqbew31jN+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":220013},"type":"module","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"./native":{"types":"./dist/native.d.ts","default":"./dist/native.js"},"./babel-plugin":{"default":"./src/babel-plugin.cjs"},"./package.json":"./package.json"},"gitHead":"40abb710111f92d515c56191d89a0682567cf52f","scripts":{"build":"tsc -p tsconfig.build.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"ajaysrawat","email":"ajay.rawat@anveshan.farm"},"_npmVersion":"10.8.2","description":"A/B testing and remote config for React Native and web — bucketing, variant resolution and conversion tracking.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7","@types/react":"^19","react-native":"^0.86.0"},"peerDependencies":{"react":">=18.0.0","@babel/core":">=7.20.0","react-native":">=0.74.0"},"peerDependenciesMeta":{"react":{"optional":true},"@babel/core":{"optional":true},"react-native":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.2.1_1785212568980_0.7305391661756915","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@anveshan/sdk","version":"0.2.2","license":"UNLICENSED","_id":"@anveshan/sdk@0.2.2","maintainers":[{"name":"ajaysrawat","email":"ajay.rawat@anveshan.farm"}],"bin":{"anveshan-manifest":"src/generate-manifest.mjs"},"dist":{"shasum":"d8f09ad0cde6bf836f07593c42a28462207b04d8","tarball":"https://registry.npmjs.org/@anveshan/sdk/-/sdk-0.2.2.tgz","fileCount":57,"integrity":"sha512-GHYoiEUMIggtBObJbmtBi+W58sEjsq5dm7BaTiQXhUCtx3TpRmuNfQ9dCPsfW3ymLuuzfTXAMvN2ISEK1jtUjg==","signatures":[{"sig":"MEYCIQDz/vs/bSpcwehYbDSAiBwB2pz0+jqTtqhTZejem58FOQIhAM7dsj+q2jMTvAy8hDmHLFhxmphAjWcgnW8HBrUPbByW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":225208},"type":"module","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"./native":{"types":"./dist/native.d.ts","default":"./dist/native.js"},"./babel-plugin":{"default":"./src/babel-plugin.cjs"},"./package.json":"./package.json"},"gitHead":"4c0f788ac7094c4a314f8742f27ade17ff2b9e0d","scripts":{"build":"tsc -p tsconfig.build.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"ajaysrawat","email":"ajay.rawat@anveshan.farm"},"_npmVersion":"10.8.2","description":"A/B testing and remote config for React Native and web — bucketing, variant resolution and conversion tracking.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7","@types/react":"^19","react-native":"^0.86.0"},"peerDependencies":{"react":">=18.0.0","@babel/core":">=7.20.0","react-native":">=0.74.0"},"peerDependenciesMeta":{"react":{"optional":true},"@babel/core":{"optional":true},"react-native":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.2.2_1785217162813_0.9523601804011588","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@anveshan/sdk","version":"0.3.0","license":"UNLICENSED","_id":"@anveshan/sdk@0.3.0","maintainers":[{"name":"ajaysrawat","email":"ajay.rawat@anveshan.farm"}],"bin":{"anveshan-manifest":"src/generate-manifest.mjs"},"dist":{"shasum":"718fc17b8204c54d089ba146d87a04fc9831b927","tarball":"https://registry.npmjs.org/@anveshan/sdk/-/sdk-0.3.0.tgz","fileCount":61,"integrity":"sha512-Z5eitL4iixmRxmeCphOSbwIb14aHHhv8xEq8ZQ8gQ9pfM8mQ918p+vyD8tsi8Oc2kj16hF4yUlynR/n+NrvS4Q==","signatures":[{"sig":"MEUCIQDs9BkkYB1CnoHR/FgukGy4up0kMxkx2dUxkLa38pw3fgIgSB5e10EV4UQy+8x7j7m6476NMaMeW/W4fF7UhLlr2Gw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":256510},"type":"module","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"./native":{"types":"./dist/native.d.ts","default":"./dist/native.js"},"./babel-plugin":{"default":"./src/babel-plugin.cjs"},"./package.json":"./package.json"},"gitHead":"27f43fae5ab5ead744d193b18f87a61dfa008198","scripts":{"build":"tsc -p tsconfig.build.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"ajaysrawat","email":"ajay.rawat@anveshan.farm"},"_npmVersion":"10.8.2","description":"A/B testing and remote config for React Native and web — bucketing, variant resolution and conversion tracking.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7","@types/react":"^19","react-native":"^0.86.0"},"peerDependencies":{"react":">=18.0.0","@babel/core":">=7.20.0","react-native":">=0.74.0"},"peerDependenciesMeta":{"react":{"optional":true},"@babel/core":{"optional":true},"react-native":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.3.0_1785240492004_0.6838181281922266","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@anveshan/sdk","version":"0.3.1","license":"UNLICENSED","_id":"@anveshan/sdk@0.3.1","maintainers":[{"name":"ajaysrawat","email":"ajay.rawat@anveshan.farm"}],"bin":{"anveshan-manifest":"src/generate-manifest.mjs"},"dist":{"shasum":"9f56051824986d814cf4f19799fc31fc62b3f313","tarball":"https://registry.npmjs.org/@anveshan/sdk/-/sdk-0.3.1.tgz","fileCount":61,"integrity":"sha512-IsFTdP7EAqzQo8qKYtAdscWPYzsSwKH9OisOR3y8Eg9V0GVZQbPcuCaoRNjlSqtaORZyO+O7wltvVvTabbKVtA==","signatures":[{"sig":"MEUCIGRqcgWJof+rRCKhFKmkJ1REEwMtuWQ2rcL7wI9xuAUfAiEA+rieMjjFKJ+bjg8PAvtsVg9TI7yuwNEEM+VKNCy35Ms=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":265261},"type":"module","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"./native":{"types":"./dist/native.d.ts","default":"./dist/native.js"},"./babel-plugin":{"default":"./src/babel-plugin.cjs"},"./package.json":"./package.json"},"gitHead":"27f43fae5ab5ead744d193b18f87a61dfa008198","scripts":{"build":"tsc -p tsconfig.build.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"ajaysrawat","email":"ajay.rawat@anveshan.farm"},"_npmVersion":"10.8.2","description":"A/B testing and remote config for React Native and web — bucketing, variant resolution and conversion tracking.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7","@types/react":"^19","react-native":"^0.86.0"},"peerDependencies":{"react":">=18.0.0","@babel/core":">=7.20.0","react-native":">=0.74.0"},"peerDependenciesMeta":{"react":{"optional":true},"@babel/core":{"optional":true},"react-native":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.3.1_1785243029357_0.9855187887659611","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@anveshan/sdk","version":"0.3.2","license":"UNLICENSED","_id":"@anveshan/sdk@0.3.2","maintainers":[{"name":"ajaysrawat","email":"ajay.rawat@anveshan.farm"}],"bin":{"anveshan-manifest":"src/generate-manifest.mjs"},"dist":{"shasum":"4a72299f4f66875495d9bfa8e313946c0d6f9c8a","tarball":"https://registry.npmjs.org/@anveshan/sdk/-/sdk-0.3.2.tgz","fileCount":61,"integrity":"sha512-3mVq1Nt/m+NkfvEZMDuc3kB4XMf7e1WpQMrKx4COtGl6HzzHquSe99jfIMIKuT3TUwNaaf5Vjj2MnZXgNVbztQ==","signatures":[{"sig":"MEUCIGjXWifVUURPCZRsxnK6oZPKYTahRcf2yAOJS23/KdN6AiEAp5OUSLrJ+jV0OG6qXaDKnfee/xp8HoKRJl50AXdDkXM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":284890},"type":"module","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"./native":{"types":"./dist/native.d.ts","default":"./dist/native.js"},"./babel-plugin":{"default":"./src/babel-plugin.cjs"},"./package.json":"./package.json"},"gitHead":"f68f498a1bee312946892c4c2a2929052da8169b","scripts":{"build":"tsc -p tsconfig.build.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"ajaysrawat","email":"ajay.rawat@anveshan.farm"},"_npmVersion":"10.8.2","description":"A/B testing and remote config for React Native and web — bucketing, variant resolution and conversion tracking.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7","@types/react":"^19","react-native":"^0.86.0"},"peerDependencies":{"react":">=18.0.0","@babel/core":">=7.20.0","react-native":">=0.74.0"},"peerDependenciesMeta":{"react":{"optional":true},"@babel/core":{"optional":true},"react-native":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.3.2_1785247268361_0.3033118139003539","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"@anveshan/sdk","version":"0.3.3","license":"UNLICENSED","_id":"@anveshan/sdk@0.3.3","maintainers":[{"name":"ajaysrawat","email":"ajay.rawat@anveshan.farm"}],"bin":{"anveshan-manifest":"src/generate-manifest.mjs"},"dist":{"shasum":"ff95585480b61b789459605b8f0a6231b8bf5078","tarball":"https://registry.npmjs.org/@anveshan/sdk/-/sdk-0.3.3.tgz","fileCount":61,"integrity":"sha512-dytKeRDjYa2PedI23FqwgiS6z4iK8qGjIjFb4HlfcTCdQXEdj6SgrUSk5Aq4cDDrAbx1i642QbcoO5aa7ypqwg==","signatures":[{"sig":"MEUCIQDXuNe0ncml0X2u+w2MSHD8n0i4fLi+J+HX0pdZNYjA5QIgSi2VoRTImgGi+zpoCWsO3Zz01a4lU1MleL7u/uqiJ7k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":288074},"type":"module","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"./native":{"types":"./dist/native.d.ts","default":"./dist/native.js"},"./babel-plugin":{"default":"./src/babel-plugin.cjs"},"./package.json":"./package.json"},"gitHead":"ceaf40ea218a3118a05121aa3fc96217bbb2c25b","scripts":{"build":"tsc -p tsconfig.build.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"ajaysrawat","email":"ajay.rawat@anveshan.farm"},"_npmVersion":"10.8.2","description":"A/B testing and remote config for React Native and web — bucketing, variant resolution and conversion tracking.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7","@types/react":"^19","react-native":"^0.86.0"},"peerDependencies":{"react":">=18.0.0","@babel/core":">=7.20.0","react-native":">=0.74.0"},"peerDependenciesMeta":{"react":{"optional":true},"@babel/core":{"optional":true},"react-native":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.3.3_1785248595130_0.29053806096962287","host":"s3://npm-registry-packages-npm-production"}},"0.3.4":{"name":"@anveshan/sdk","version":"0.3.4","license":"UNLICENSED","_id":"@anveshan/sdk@0.3.4","maintainers":[{"name":"ajaysrawat","email":"ajay.rawat@anveshan.farm"}],"bin":{"anveshan-manifest":"src/generate-manifest.mjs"},"dist":{"shasum":"b94a6eec1e6c483ed7cb02fc665b7fdd062bedfe","tarball":"https://registry.npmjs.org/@anveshan/sdk/-/sdk-0.3.4.tgz","fileCount":76,"integrity":"sha512-usjwfTvtMi+E5HeIW82SxEILi64igYZO5VsaU1m44lFu2VVLzt88mRy2uuRNrmLt7U8owpIVC2IeB1UlUYbWhw==","signatures":[{"sig":"MEQCIB+G+r9eAILf19Cc8NxlBGbz4aoEXufeukDNWXs6u7s5AiA0cxDM7JZVT8zQVHhgaavfbr87eQMa1FFy175NpOtBxg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":460106},"type":"module","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"./native":{"types":"./dist/native.d.ts","default":"./dist/native.js"},"./babel-plugin":{"default":"./src/babel-plugin.cjs"},"./package.json":"./package.json"},"gitHead":"8d60edc159e83fa32c911c31c5d0772ef254582a","scripts":{"build":"tsc -p tsconfig.build.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"ajaysrawat","email":"ajay.rawat@anveshan.farm"},"_npmVersion":"10.8.2","description":"A/B testing and remote config for React Native and web — bucketing, variant resolution and conversion tracking.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"pako":"^2.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7","@types/pako":"^2.0.4","@types/react":"^19","react-native":"^0.86.0"},"peerDependencies":{"react":">=18.0.0","@babel/core":">=7.20.0","react-native":">=0.74.0"},"peerDependenciesMeta":{"react":{"optional":true},"@babel/core":{"optional":true},"react-native":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.3.4_1785309952505_0.06840672830290817","host":"s3://npm-registry-packages-npm-production"}},"0.3.6":{"name":"@anveshan/sdk","version":"0.3.6","license":"UNLICENSED","_id":"@anveshan/sdk@0.3.6","maintainers":[{"name":"ajaysrawat","email":"ajay.rawat@anveshan.farm"}],"bin":{"anveshan-manifest":"src/generate-manifest.mjs"},"dist":{"shasum":"9207e8e9e3537dfa8d942a22b6e1efa59721d368","tarball":"https://registry.npmjs.org/@anveshan/sdk/-/sdk-0.3.6.tgz","fileCount":76,"integrity":"sha512-7GezsYD2jPOXEkeFDw8BWq8sjOYsJ9ZU/8S/wFMyxAFHr4CHfWhjIp0kXE4DSdJAjc3dwzFLaG/EJkvRCcP+9g==","signatures":[{"sig":"MEUCIQDPu1iLmm0AgvvVeHXx3vbDYyaygMnEOxBXDGeVwySGsQIgJ9uM5REfITWukYCIhRfKqb6ptLUnY947PS43yWyu5gE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":462066},"type":"module","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"./native":{"types":"./dist/native.d.ts","default":"./dist/native.js"},"./babel-plugin":{"default":"./src/babel-plugin.cjs"},"./package.json":"./package.json"},"gitHead":"e2913c78d76da0df6b62eb56e9bac8d3664c1402","scripts":{"build":"tsc -p tsconfig.build.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"ajaysrawat","email":"ajay.rawat@anveshan.farm"},"_npmVersion":"10.8.2","description":"A/B testing and remote config for React Native and web — bucketing, variant resolution and conversion tracking.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"pako":"^2.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7","@types/pako":"^2.0.4","@types/react":"^19","react-native":"^0.86.0"},"peerDependencies":{"react":">=18.0.0","@babel/core":">=7.20.0","react-native":">=0.74.0"},"peerDependenciesMeta":{"react":{"optional":true},"@babel/core":{"optional":true},"react-native":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.3.6_1785311201715_0.2941089008857296","host":"s3://npm-registry-packages-npm-production"}},"0.3.7":{"name":"@anveshan/sdk","version":"0.3.7","license":"UNLICENSED","_id":"@anveshan/sdk@0.3.7","maintainers":[{"name":"ajaysrawat","email":"ajay.rawat@anveshan.farm"}],"bin":{"anveshan-dev":"src/dev-android.mjs","anveshan-manifest":"src/generate-manifest.mjs"},"dist":{"shasum":"072806fc56f332aad476f66344aa234dae62eb79","tarball":"https://registry.npmjs.org/@anveshan/sdk/-/sdk-0.3.7.tgz","fileCount":81,"integrity":"sha512-Mz5YqDiq4RiZu/cAY9vqvXjeGg/TmExCizKUOL0/vTlXEb9WHnIu2bVCMS15hzYSThSDmzrR0xnVx60pl3GdxQ==","signatures":[{"sig":"MEQCIFZsAcporVga+03dzxmb8n2AX4koGrj1PQdFeardJE4mAiBkJ++J7hnaCIN+BZFSUX97B27SoASi+hqnh+xMWtOLoA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":499789},"type":"module","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"./native":{"types":"./dist/native.d.ts","default":"./dist/native.js"},"./babel-plugin":{"default":"./src/babel-plugin.cjs"},"./package.json":"./package.json"},"gitHead":"e2913c78d76da0df6b62eb56e9bac8d3664c1402","scripts":{"build":"tsc -p tsconfig.build.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"ajaysrawat","email":"ajay.rawat@anveshan.farm"},"_npmVersion":"10.8.2","description":"A/B testing and remote config for React Native and web — bucketing, variant resolution and conversion tracking.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"pako":"^2.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7","@types/pako":"^2.0.4","@types/react":"^19","react-native":"^0.86.0"},"peerDependencies":{"react":">=18.0.0","@babel/core":">=7.20.0","react-native":">=0.74.0"},"peerDependenciesMeta":{"react":{"optional":true},"@babel/core":{"optional":true},"react-native":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.3.7_1785328839460_0.20751059256207616","host":"s3://npm-registry-packages-npm-production"}},"0.3.8":{"name":"@anveshan/sdk","version":"0.3.8","license":"UNLICENSED","_id":"@anveshan/sdk@0.3.8","maintainers":[{"name":"ajaysrawat","email":"ajay.rawat@anveshan.farm"}],"bin":{"anveshan-dev":"src/dev-android.mjs","anveshan-manifest":"src/generate-manifest.mjs"},"dist":{"shasum":"64d43deb6a07b38c1b1ad5d089626dedf21a1d26","tarball":"https://registry.npmjs.org/@anveshan/sdk/-/sdk-0.3.8.tgz","fileCount":210,"integrity":"sha512-u6F5PWozPvGILTDK0dzy/EccjkoWr+4q6CmneeWxxGAP+p4wKOv9c4e767uVg9C0IvcrnBYaYOFNjlphXlbK+A==","signatures":[{"sig":"MEYCIQCFe5esh2Nuy3K3/ZW2c/n0c39FFwU7+/U89/0dMa9/7wIhAOjpnLtfSjZB7bkNbk8vFVYwIyXMLLVWLihWkIoU7bPW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1179908},"type":"module","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"./native":{"types":"./dist/native.d.ts","default":"./dist/native.js"},"./babel-plugin":{"default":"./src/babel-plugin.cjs"},"./package.json":"./package.json"},"gitHead":"b94a38473dca66c7223ecb156d55384d40d2df29","scripts":{"build":"tsc -p tsconfig.build.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"ajaysrawat","email":"ajay.rawat@anveshan.farm"},"_npmVersion":"10.8.2","description":"A/B testing and remote config for React Native and web — bucketing, variant resolution and conversion tracking.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"pako":"^2.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7","@types/pako":"^2.0.4","@types/react":"^19","react-native":"^0.86.0"},"peerDependencies":{"react":">=18.0.0","@babel/core":">=7.20.0","react-native":">=0.74.0"},"peerDependenciesMeta":{"react":{"optional":true},"@babel/core":{"optional":true},"react-native":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.3.8_1785332419297_0.5343456342533173","host":"s3://npm-registry-packages-npm-production"}},"0.3.9":{"name":"@anveshan/sdk","version":"0.3.9","license":"UNLICENSED","_id":"@anveshan/sdk@0.3.9","maintainers":[{"name":"ajaysrawat","email":"ajay.rawat@anveshan.farm"}],"bin":{"anveshan-dev":"src/dev-android.mjs","anveshan-manifest":"src/generate-manifest.mjs"},"dist":{"shasum":"d4f3fa58df7d54b022055550571f6905fd1c8596","tarball":"https://registry.npmjs.org/@anveshan/sdk/-/sdk-0.3.9.tgz","fileCount":222,"integrity":"sha512-VuB5z0R16TggMwBvEKkAsDkdBeSLrs68iQoN+oFLpRuFuIPOVc7lUt1BLtnA0mH6xCgAyzzhfk7zTZ8n17ZhUA==","signatures":[{"sig":"MEUCIENWST0Rf5wIvR/KaWeEVb2KuqjG8TNgkAMUkhgD/xHKAiEArbvNX78KtRK4CFGkfW0NvtQbYEiPjxa9ZaEfGR+1sAY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1211846},"type":"module","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"./native":{"types":"./dist/native.d.ts","default":"./dist/native.js"},"./babel-plugin":{"default":"./src/babel-plugin.cjs"},"./package.json":"./package.json"},"gitHead":"b94a38473dca66c7223ecb156d55384d40d2df29","scripts":{"build":"tsc -p tsconfig.build.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"ajaysrawat","email":"ajay.rawat@anveshan.farm"},"_npmVersion":"10.8.2","description":"A/B testing and remote config for React Native and web — bucketing, variant resolution and conversion tracking.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"pako":"^2.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7","@types/pako":"^2.0.4","@types/react":"^19","react-native":"^0.86.0"},"peerDependencies":{"react":">=18.0.0","@babel/core":">=7.20.0","react-native":">=0.74.0"},"peerDependenciesMeta":{"react":{"optional":true},"@babel/core":{"optional":true},"react-native":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.3.9_1785410778230_0.3842745916574968","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@anveshan/sdk","version":"0.4.0","license":"UNLICENSED","_id":"@anveshan/sdk@0.4.0","maintainers":[{"name":"ajaysrawat","email":"ajay.rawat@anveshan.farm"}],"bin":{"anveshan-dev":"src/dev-android.mjs","anveshan-manifest":"src/generate-manifest.mjs"},"dist":{"shasum":"cc3d0e9a8ce6cb5285099da930f66b7379fe992d","tarball":"https://registry.npmjs.org/@anveshan/sdk/-/sdk-0.4.0.tgz","fileCount":222,"integrity":"sha512-Z/96SoXkvKPtgpeV7mEl82aTxzL9tQDgPazUEAXiV5Y4iBWgssUlPAx5O9fclwANEEyXAs+RkpoVZy9QUj7N7Q==","signatures":[{"sig":"MEYCIQDONMOTU5JYp9UKXva65VSefJtecpKiMd+OzFd/y6By7AIhAPiPzYzvuZIkjCTYGPvACOAd4PFrIa05ZZlCLxBNzyM3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1219157},"type":"module","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"./native":{"types":"./dist/native.d.ts","default":"./dist/native.js"},"./babel-plugin":{"default":"./src/babel-plugin.cjs"},"./package.json":"./package.json"},"gitHead":"ebea6246ec1b1f5eef5657acda5c33e1c55247a9","scripts":{"build":"tsc -p tsconfig.build.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"ajaysrawat","email":"ajay.rawat@anveshan.farm"},"_npmVersion":"10.8.2","description":"A/B testing and remote config for React Native and web — bucketing, variant resolution and conversion tracking.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"pako":"^2.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7","@types/pako":"^2.0.4","@types/react":"^19","react-native":"^0.86.0"},"peerDependencies":{"react":">=18.0.0","@babel/core":">=7.20.0","react-native":">=0.74.0"},"peerDependenciesMeta":{"react":{"optional":true},"@babel/core":{"optional":true},"react-native":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.0_1785484888747_0.9680844258681807","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@anveshan/sdk","version":"0.5.0","description":"A/B testing and remote config for React Native and web — bucketing, variant resolution and conversion tracking.","license":"UNLICENSED","type":"module","sideEffects":false,"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"./native":{"types":"./dist/native.d.ts","default":"./dist/native.js"},"./babel-plugin":{"default":"./src/babel-plugin.cjs"},"./package.json":"./package.json"},"bin":{"anveshan-manifest":"src/generate-manifest.mjs","anveshan-dev":"src/dev-android.mjs"},"peerDependencies":{"@babel/core":">=7.20.0","react":">=18.0.0","react-native":">=0.74.0"},"peerDependenciesMeta":{"@babel/core":{"optional":true},"react":{"optional":true},"react-native":{"optional":true}},"devDependencies":{"@types/pako":"^2.0.4","@types/react":"^19","react-native":"^0.86.0","typescript":"^5.7"},"scripts":{"build":"tsc -p tsconfig.build.json","prepublishOnly":"npm run build"},"publishConfig":{"access":"public"},"engines":{"node":">=18"},"dependencies":{"pako":"^2.2.0"},"_id":"@anveshan/sdk@0.5.0","gitHead":"d3eaada250d7fb4cb7b60bfffb1d7ad39308d661","_nodeVersion":"20.20.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-uxr7hJG+NluuQb9jovrK+NE30YwvBkE7PB20toK+PhLO1hEr+gQPB+L5godEFu6T+2haWHO4b50DyaNCP8v4Pw==","shasum":"83f3529e97a756c9468f92f013390c737e4f16ee","tarball":"https://registry.npmjs.org/@anveshan/sdk/-/sdk-0.5.0.tgz","fileCount":109,"unpackedSize":616939,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIGSyvn1BvhMUAD1JZBPl+ANlhFyrCO7emDDSCmFr+OioAiAkwF8ONmiK+PtPVnx21F1WtrYtZOfXqXrKMYrqJ258OA=="}]},"_npmUser":{"name":"ajaysrawat","email":"ajay.rawat@anveshan.farm"},"directories":{},"maintainers":[{"name":"ajaysrawat","email":"ajay.rawat@anveshan.farm"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/sdk_0.5.0_1786176934806_0.8535076256021874"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-27T12:33:50.919Z","modified":"2026-08-08T08:15:35.168Z","0.1.0":"2026-07-27T12:33:51.367Z","0.2.0":"2026-07-28T04:03:40.763Z","0.2.1":"2026-07-28T04:22:49.148Z","0.2.2":"2026-07-28T05:39:23.005Z","0.3.0":"2026-07-28T12:08:12.160Z","0.3.1":"2026-07-28T12:50:29.507Z","0.3.2":"2026-07-28T14:01:08.572Z","0.3.3":"2026-07-28T14:23:15.284Z","0.3.4":"2026-07-29T07:25:52.661Z","0.3.6":"2026-07-29T07:46:41.878Z","0.3.7":"2026-07-29T12:40:39.606Z","0.3.8":"2026-07-29T13:40:19.479Z","0.3.9":"2026-07-30T11:26:18.409Z","0.4.0":"2026-07-31T08:01:28.930Z","0.5.0":"2026-08-08T08:15:34.988Z"},"license":"UNLICENSED","description":"A/B testing and remote config for React Native and web — bucketing, variant resolution and conversion tracking.","maintainers":[{"name":"ajaysrawat","email":"ajay.rawat@anveshan.farm"}],"readme":"# @anveshan/sdk\n\nA/B testing and remote config for React Native and web. Deterministic bucketing,\nvariant resolution and conversion tracking, with the same resolver running on the\ndevice, in the browser and on the server — so a variant computed anywhere matches\neverywhere.\n\n```sh\nnpm install @anveshan/sdk\n```\n\n## Entry points\n\n| Import | What it is | Needs |\n| --- | --- | --- |\n| `@anveshan/sdk` | Client, bucketing and the pure resolver. No UI framework. | — |\n| `@anveshan/sdk/react` | `AnveshanProvider`, `useControl`, and the instrumentation helpers. | `react` |\n| `@anveshan/sdk/native` | Screen capture and live mirroring for the visual picker. Debug builds only. | `react-native` |\n| `@anveshan/sdk/babel-plugin` | Auto-instruments static JSX so copy and styles are remotely overridable. | `@babel/core` |\n\nEvery peer is optional. A Node service resolving variants for server-rendered\npages installs none of them.\n\n## Quick start\n\n```tsx\nimport { AnveshanProvider, useControl } from \"@anveshan/sdk/react\";\n\n<AnveshanProvider options={{ accountId: \"anv_live\", endpoint: \"https://…\" }}>\n  <App />\n</AnveshanProvider>;\n\nfunction Hero() {\n  // The second argument is what the shipped binary renders — with no config,\n  // no network, or no experiment, the screen still works.\n  const headline = useControl(\"hero.headline\", \"Cold-pressed, always\");\n  return <Text>{headline}</Text>;\n}\n```\n\nReading a control is what reports the exposure, so an experiment only counts\nusers who actually reached the screen.\n\n## Auto-instrumentation\n\n`babel.config.js`:\n\n```js\nmodule.exports = {\n  presets: [\"module:@react-native/babel-preset\"],\n  overrides: [\n    {\n      // Transforming node_modules is worse than useless here: RN's LogBox\n      // renders outside your provider tree, so instrumenting it replaces the\n      // stack trace you needed with a blank screen.\n      exclude: /node_modules/,\n      plugins: [\"@anveshan/sdk/babel-plugin\"],\n    },\n  ],\n};\n```\n\nThen generate the element catalogue the dashboard's visual picker reads:\n\n```sh\nnpx anveshan-manifest src anveshan-manifest.json\n```\n\nIds are keyed on file basename + line, so two same-named files in different\nfolders can collide — rename or scope if that bites.\n\nPass it to the provider with `require`, not a static `import`:\n\n```tsx\nlet manifest: unknown[] | undefined;\ntry {\n  manifest = require('./anveshan-manifest.json');\n} catch {}\n\n<AnveshanProvider accountId=\"…\" manifest={manifest}>\n```\n\nA static import makes the generated file a hard build dependency — a checkout\nthat has never run the generator dies at `Unable to resolve module`. React\nNative's Metro config enables `allowOptionalDependencies`, so a `require` inside\na `try/catch` builds either way. Leave it `undefined` rather than `[]` when it is\nmissing: any non-nullish manifest is treated as one worth uploading, and an\nempty array overwrites the dashboard's catalogue with nothing.\n\nThe manifest is a dashboard convenience, not a runtime dependency. Without it\nyour controls still resolve and your experiments still run — only the visual\npicker's element list goes unpopulated.\n\n## Live mirroring\n\nNothing to wire. Install, rebuild, run a dev build — the provider mirrors the\nscreen to the dashboard on its own. There is no button and no touch handler to\nadd, because anything the host has to render is something the host has to\nremember to render.\n\n```tsx\n<AnveshanProvider accountId=\"anv_live\" endpoint={ENDPOINT} screen={route.name}>\n```\n\n`screen` is optional and only labels the capture. `mirrorCode` defaults to\n`\"demo\"` — the pairing code a PM types into the dashboard — and setting it to\n`null` turns mirroring off.\n\n**Android and iOS.** The native module ships in this package and autolinks\nitself. On iOS run `pod install` once after installing the package; nothing goes\nin `AppDelegate`.\n\nDev-only, enforced natively rather than by convention. Android refuses to\ncapture unless the host app is debuggable, so a release build cannot take a\nscreenshot even though autolinking registers it everywhere. On iOS the pod is\ncompiled in the app's own configuration, so a Release build does not contain the\ncapture path at all.\n\n### What drives it\n\nA native change signal, trailing-debounced, rather than a JS timer or a touch\nhandler.\n\nA touch handler has to wrap your whole tree and still only sees taps — it misses\na scroll settling, an image decoding, a fetch landing, a transition ending. A\nredraw covers all of them, since those are exactly the things that redraw the\nscreen. The debounce is trailing, so an animation produces one capture when it\nfinishes rather than sixty while it runs.\n\nHow the signal is obtained differs by platform, and nothing above the native\nlayer can tell:\n\n| | Signal |\n|---|---|\n| Android | `ViewTreeObserver.OnDrawListener` on the decor view |\n| iOS | the window rendered to a 48px-wide bitmap 5×/sec and compared byte-for-byte |\n\nUIKit has no draw callback to subscribe to. `CADisplayLink` is a clock rather\nthan a change signal — it ticks every frame whether or not anything moved, so\nfeeding it a trailing debounce means the debounce never fires and a still screen\nis never declared still. Observing the change instead keeps the property the\nwhole design rests on: **an idle screen uploads nothing at all.**\n\nTree-walking and hashing view frames would be cheaper than rasterising, and was\nrejected: it is blind to everything that changes a pixel without moving a box —\nan image finishing its decode, a label swapping to text of the same width, a\nbackground colour animating — which is most of what a mirror exists to show.\n\nFrames identical to the last are dropped before upload. **An idle screen\nuploads nothing at all** — which matters because the obvious implementation, a\n2s `setInterval`, re-uploads the same JPEG thirty times a minute, and each one\nis a write on the dashboard's side. That was enough to exhaust a Firestore free\ntier in about five hours, with the likeliest case being the worst: a picker left\nopen on a screen nobody was looking at.\n\n### Driving it yourself\n\n`createMirrorSession()` gives the same behaviour under manual control, and\n`captureCurrentScreen()` / `uploadCapture()` are exported for anything more\nbespoke.\n\n```tsx\nconst session = createMirrorSession({baseUrl, code: 'demo', screen: route.name});\nsession.captureNow();\nsession.activity();   // safe to call on every touch\nsession.stop();\n```\n\n## Development\n\nSource lives in `src/`, published output is built by `tsc`:\n\n```sh\nnpm run build -w @anveshan/sdk    # or: npm run sdk:build from the repo root\nnpm test                          # from the repo root; needs Node >= 22\n```\n\nImports carry explicit `.ts` extensions so Node's type stripping and Metro both\nresolve them directly; `rewriteRelativeImportExtensions` turns them into `.js`\non the way into `dist/`.\n","readmeFilename":"README.md"}