{"_id":"@analyticscli/sdk","_rev":"32-2a54ddf561e20a9ffd91c7c2d39b28ab","name":"@analyticscli/sdk","dist-tags":{"preview":"0.1.1-preview.1","latest":"0.1.4"},"versions":{"0.1.0-preview.4":{"name":"@analyticscli/sdk","version":"0.1.0-preview.4","license":"MIT","_id":"@analyticscli/sdk@0.1.0-preview.4","maintainers":[{"name":"wotaso-dev","email":"contact@wotaso.com"}],"dist":{"shasum":"57bb1c3e95b0679d23093b5a459b682b5e3985ba","tarball":"https://registry.npmjs.org/@analyticscli/sdk/-/sdk-0.1.0-preview.4.tgz","fileCount":20,"integrity":"sha512-7ZDrBFSzW2EmEsPGiUaE4LBIw6Ck2OtHfV7U0+a/bR/KOL1rWytqPp3GQzJjqeylsmTLT+Br0xDajSkGJg+8gQ==","signatures":[{"sig":"MEYCIQCYtGz9R3mFN+WCHJViA3QInnlSZpa0PxZy7om2F9Lh6wIhAPi9UHJ/4KhO5cWZXmV+KOkxpZarrLDxU+keQRBNaTRy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":444769},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"},"./browser":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","default":"./dist/browser.js","require":"./dist/browser.cjs"},"./package.json":"./package.json","./react-native":{"types":"./dist/react-native.d.ts","import":"./dist/react-native.js","default":"./dist/react-native.js","require":"./dist/react-native.cjs"}},"gitHead":"711605455982dc09b05899a5df79a8b1d57cb16d","scripts":{"dev":"tsup src/index.ts src/browser.ts src/react-native.ts --format esm,cjs --dts --watch","lint":"ESLINT_USE_FLAT_CONFIG=false eslint src --ext .ts","test":"tsx --test tests/**/*.test.ts","build":"tsup src/index.ts src/browser.ts src/react-native.ts --format esm,cjs --dts","prepack":"npm run build","quality":"npm run lint && npm run typecheck && npm run test:coverage:gate","typecheck":"tsc -p tsconfig.json --noEmit","test:coverage":"node --experimental-test-coverage --import tsx --test tests/**/*.test.ts","test:coverage:gate":"node scripts/coverage-gate.mjs"},"_npmUser":{"name":"wotaso-dev","email":"contact@wotaso.com"},"_npmVersion":"10.5.2","description":"TypeScript SDK for sending onboarding, paywall, purchase and survey analytics events to AnalyticsCLI.","directories":{},"sideEffects":false,"_nodeVersion":"21.7.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","tsup":"^8.4.0","eslint":"^9.22.0","typescript":"^5.8.2","@types/node":"^22.13.10","@typescript-eslint/parser":"^8.26.0","@typescript-eslint/eslint-plugin":"^8.26.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.1.0-preview.4_1773449017200_0.4911398753134031","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-preview.5":{"name":"@analyticscli/sdk","version":"0.1.0-preview.5","license":"MIT","_id":"@analyticscli/sdk@0.1.0-preview.5","maintainers":[{"name":"wotaso-dev","email":"contact@wotaso.com"}],"dist":{"shasum":"ac8d78e550a503a978bc81d58233d4728e9050d8","tarball":"https://registry.npmjs.org/@analyticscli/sdk/-/sdk-0.1.0-preview.5.tgz","fileCount":16,"integrity":"sha512-aQYDKjq95GzMweqbfwKKT5PHJPGFJEmrYvd+CZNEg48zoYLPrbLG8nHNgcITgQ/n3jmFb7qUoqBoBmtvY1Ml4A==","signatures":[{"sig":"MEUCIQC6EJbTfPogACSt6nmhIuqnLj+YEHccAWXjDdMbwZvdcwIgN3wBWwK9Ek6Gi0jUz0yu8S9r/bkYmK0wsoNfLPIg7qo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":297858},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"},"./browser":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","default":"./dist/browser.js","require":"./dist/browser.cjs"},"./package.json":"./package.json","./react-native":{"types":"./dist/react-native.d.ts","import":"./dist/react-native.js","default":"./dist/react-native.js","require":"./dist/react-native.cjs"}},"gitHead":"2f746f656746f19545ace363de73ba93be93af4b","scripts":{"dev":"tsup src/index.ts src/browser.ts src/react-native.ts --format esm,cjs --dts --watch","lint":"ESLINT_USE_FLAT_CONFIG=false eslint src --ext .ts","test":"tsx --test tests/**/*.test.ts","build":"tsup src/index.ts src/browser.ts src/react-native.ts --format esm,cjs --dts","prepack":"npm run build","quality":"npm run lint && npm run typecheck && npm run test:coverage:gate","typecheck":"tsc -p tsconfig.json --noEmit","test:coverage":"node --experimental-test-coverage --import tsx --test tests/**/*.test.ts","test:coverage:gate":"node scripts/coverage-gate.mjs"},"_npmUser":{"name":"wotaso-dev","email":"contact@wotaso.com"},"_npmVersion":"10.9.4","description":"TypeScript SDK for sending onboarding, paywall, purchase and survey analytics events to AnalyticsCLI.","directories":{},"sideEffects":false,"_nodeVersion":"22.22.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.5","tsup":"^8.4.0","eslint":"^9.22.0","typescript":"^5.8.2","@types/node":"^22.13.10","@typescript-eslint/parser":"^8.26.0","@typescript-eslint/eslint-plugin":"^8.26.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.1.0-preview.5_1774182630071_0.37729181978823534","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-preview.6":{"name":"@analyticscli/sdk","version":"0.1.0-preview.6","license":"MIT","_id":"@analyticscli/sdk@0.1.0-preview.6","maintainers":[{"name":"wotaso-dev","email":"contact@wotaso.com"}],"dist":{"shasum":"b7e4e30951f221c96713dc2921f529839288533a","tarball":"https://registry.npmjs.org/@analyticscli/sdk/-/sdk-0.1.0-preview.6.tgz","fileCount":16,"integrity":"sha512-hdE6RQh3rhbDOIPOxkUM50B34c+eRQWF2jM9aMKoTtR1k8rWG3nm5B8jvgnx94p0Eg7y8iX2iIY9cD4WrS4zLA==","signatures":[{"sig":"MEUCIG5cILO2n5lQ//CDSc5c28P28L4Lv9aboBK4DNpqIdnYAiEAhT1/avyDuV0z7tpZl8HVujXEGo4XfbBRcGFamywwhv8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":295927},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"},"./browser":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","default":"./dist/browser.js","require":"./dist/browser.cjs"},"./package.json":"./package.json","./react-native":{"types":"./dist/react-native.d.ts","import":"./dist/react-native.js","default":"./dist/react-native.js","require":"./dist/react-native.cjs"}},"gitHead":"08b4ad7b29029f39755681ad6f6b8094584aaf8d","scripts":{"dev":"tsup src/index.ts src/browser.ts src/react-native.ts --format esm,cjs --dts --watch","lint":"ESLINT_USE_FLAT_CONFIG=false eslint src --ext .ts","test":"tsx --test tests/**/*.test.ts","build":"tsup src/index.ts src/browser.ts src/react-native.ts --format esm,cjs --dts","prepack":"npm run build","quality":"npm run lint && npm run typecheck && npm run test:coverage:gate","typecheck":"tsc -p tsconfig.json --noEmit","test:coverage":"node --experimental-test-coverage --import tsx --test tests/**/*.test.ts","test:coverage:gate":"node scripts/coverage-gate.mjs"},"_npmUser":{"name":"wotaso-dev","email":"contact@wotaso.com"},"_npmVersion":"10.9.4","description":"TypeScript SDK for sending onboarding, paywall, purchase and survey analytics events to AnalyticsCLI.","directories":{},"sideEffects":false,"_nodeVersion":"22.22.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.5","tsup":"^8.4.0","eslint":"^9.22.0","typescript":"^5.8.2","@types/node":"^22.13.10","@typescript-eslint/parser":"^8.26.0","@typescript-eslint/eslint-plugin":"^8.26.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.1.0-preview.6_1774269813265_0.570518955434445","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-preview.7":{"name":"@analyticscli/sdk","version":"0.1.0-preview.7","license":"MIT","_id":"@analyticscli/sdk@0.1.0-preview.7","maintainers":[{"name":"wotaso-dev","email":"contact@wotaso.com"}],"dist":{"shasum":"65eca9f8bdff0bbbf197c8366f9b40d9fb9b9f60","tarball":"https://registry.npmjs.org/@analyticscli/sdk/-/sdk-0.1.0-preview.7.tgz","fileCount":16,"integrity":"sha512-hkT+3PzPVFvJA4ij57eRg5izNjCsz8DTlY2HMjPOq1Gn8p2eoFLH4xQbNxnnoj0JnWcxMEQccvdwCt7fEPo0eg==","signatures":[{"sig":"MEUCIHNsFyRyxE4G8MVe/fS8JXs6uwyOX9ixgzbR4aeXfNziAiEAiK5cnLsxRxXfajJmQw7cmT5Z0GKm/vYDOnpYUY/yPvY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":298387},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"},"./browser":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","default":"./dist/browser.js","require":"./dist/browser.cjs"},"./package.json":"./package.json","./react-native":{"types":"./dist/react-native.d.ts","import":"./dist/react-native.js","default":"./dist/react-native.js","require":"./dist/react-native.cjs"}},"gitHead":"0c97dec31141b8c618d3e902979a405e2e09ff09","scripts":{"dev":"tsup src/index.ts src/browser.ts src/react-native.ts --format esm,cjs --dts --watch","lint":"ESLINT_USE_FLAT_CONFIG=false eslint src --ext .ts","test":"tsx --test tests/**/*.test.ts","build":"tsup src/index.ts src/browser.ts src/react-native.ts --format esm,cjs --dts","prepack":"npm run build","quality":"npm run lint && npm run typecheck && npm run test:coverage:gate","typecheck":"tsc -p tsconfig.json --noEmit","test:coverage":"node --experimental-test-coverage --import tsx --test tests/**/*.test.ts","test:coverage:gate":"node scripts/coverage-gate.mjs"},"_npmUser":{"name":"wotaso-dev","email":"contact@wotaso.com"},"_npmVersion":"10.9.4","description":"TypeScript SDK for sending onboarding, paywall, purchase and survey analytics events to AnalyticsCLI.","directories":{},"sideEffects":false,"_nodeVersion":"22.22.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.5","tsup":"^8.4.0","eslint":"^9.22.0","typescript":"^5.8.2","@types/node":"^22.13.10","@typescript-eslint/parser":"^8.26.0","@typescript-eslint/eslint-plugin":"^8.26.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.1.0-preview.7_1774282392369_0.09920208732530589","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-preview.8":{"name":"@analyticscli/sdk","version":"0.1.0-preview.8","license":"MIT","_id":"@analyticscli/sdk@0.1.0-preview.8","maintainers":[{"name":"wotaso-dev","email":"contact@wotaso.com"}],"dist":{"shasum":"fdebddd2f81f3edaf04f60dd1833ea814b69ca38","tarball":"https://registry.npmjs.org/@analyticscli/sdk/-/sdk-0.1.0-preview.8.tgz","fileCount":16,"integrity":"sha512-zYhUbnArrVP3lIGWFCiKXntdCZdh8GohUaBTplP4f/L3BG5samgRWPtmhxppjU/efes6hE+wFmIbCvWVFAkqLQ==","signatures":[{"sig":"MEUCIBJJmad92xzXzH78PHi0ijl7WdCiG6c8fzU0hfBeRk7yAiEA/GOsTF4P2zso0Hfcf3VdwSzKWIIjJvCkmlNwBeDqJeg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":320399},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"},"./browser":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","default":"./dist/browser.js","require":"./dist/browser.cjs"},"./package.json":"./package.json","./react-native":{"types":"./dist/react-native.d.ts","import":"./dist/react-native.js","default":"./dist/react-native.js","require":"./dist/react-native.cjs"}},"gitHead":"f1d739f9a98e601552fa1dee70e8c22c63939d3d","scripts":{"dev":"tsup src/index.ts src/browser.ts src/react-native.ts --format esm,cjs --dts --watch","lint":"ESLINT_USE_FLAT_CONFIG=false eslint src --ext .ts","test":"tsx --test tests/**/*.test.ts","build":"tsup src/index.ts src/browser.ts src/react-native.ts --format esm,cjs --dts","prepack":"npm run build","quality":"npm run lint && npm run typecheck && npm run test:coverage:gate","typecheck":"tsc -p tsconfig.json --noEmit","test:coverage":"node --experimental-test-coverage --import tsx --test tests/**/*.test.ts","test:coverage:gate":"node scripts/coverage-gate.mjs"},"_npmUser":{"name":"wotaso-dev","email":"contact@wotaso.com"},"_npmVersion":"10.9.4","description":"TypeScript SDK for sending onboarding, paywall, purchase and survey analytics events to AnalyticsCLI.","directories":{},"sideEffects":false,"_nodeVersion":"22.22.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.5","tsup":"^8.4.0","eslint":"^9.22.0","typescript":"^5.8.2","@types/node":"^22.13.10","@typescript-eslint/parser":"^8.26.0","@typescript-eslint/eslint-plugin":"^8.26.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.1.0-preview.8_1774287536620_0.5684013298990993","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-preview.9":{"name":"@analyticscli/sdk","version":"0.1.0-preview.9","license":"MIT","_id":"@analyticscli/sdk@0.1.0-preview.9","maintainers":[{"name":"wotaso-dev","email":"contact@wotaso.com"}],"dist":{"shasum":"b1708b7d72d89a364796089bfc058a2c156e6093","tarball":"https://registry.npmjs.org/@analyticscli/sdk/-/sdk-0.1.0-preview.9.tgz","fileCount":16,"integrity":"sha512-jEuA8SF6W3Gua7sm0Qs3J8y5L0Z09kCKfZtRjGRfqfQNNUXxld6bTzuYGEHoTSpAWkSrnijNr97bbbbRjMUYBg==","signatures":[{"sig":"MEUCIQC5tTPmJkRv243RtkIfjoU4e80FMKLN8UlEDxZc93gTTQIgMDniuyYJZ7qsH79/wALlMLEOlmniUsCH5NdAeSH50dc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":326239},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"},"./browser":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","default":"./dist/browser.js","require":"./dist/browser.cjs"},"./package.json":"./package.json","./react-native":{"types":"./dist/react-native.d.ts","import":"./dist/react-native.js","default":"./dist/react-native.js","require":"./dist/react-native.cjs"}},"gitHead":"e20f75cf44dfc1bcce36c66300ddd1b793867a06","scripts":{"dev":"tsup src/index.ts src/browser.ts src/react-native.ts --format esm,cjs --dts --watch","lint":"ESLINT_USE_FLAT_CONFIG=false eslint src --ext .ts","test":"tsx --test tests/**/*.test.ts","build":"tsup src/index.ts src/browser.ts src/react-native.ts --format esm,cjs --dts","prepack":"npm run build","quality":"npm run lint && npm run typecheck && npm run test:coverage:gate","typecheck":"tsc -p tsconfig.json --noEmit","test:coverage":"node --experimental-test-coverage --import tsx --test tests/**/*.test.ts","test:coverage:gate":"node scripts/coverage-gate.mjs"},"_npmUser":{"name":"wotaso-dev","email":"contact@wotaso.com"},"_npmVersion":"10.9.4","description":"TypeScript SDK for sending onboarding, paywall, purchase and survey analytics events to AnalyticsCLI.","directories":{},"sideEffects":false,"_nodeVersion":"22.22.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.5","tsup":"^8.4.0","eslint":"^9.22.0","typescript":"^5.8.2","@types/node":"^22.13.10","@typescript-eslint/parser":"^8.26.0","@typescript-eslint/eslint-plugin":"^8.26.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.1.0-preview.9_1774438026242_0.6831331962921541","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-preview.10":{"name":"@analyticscli/sdk","version":"0.1.0-preview.10","license":"MIT","_id":"@analyticscli/sdk@0.1.0-preview.10","maintainers":[{"name":"wotaso-dev","email":"contact@wotaso.com"}],"dist":{"shasum":"398f7c073005a5e15ce6c95ba1f977115b0144a8","tarball":"https://registry.npmjs.org/@analyticscli/sdk/-/sdk-0.1.0-preview.10.tgz","fileCount":16,"integrity":"sha512-jd5M/tl8TsmTuS/G+W1B52VwGmW41TCiXI9lP4Mo6kY7RtShOnwRjIWxTjhVhVJN1IoNHbrlb8tQjhUD9TYn5Q==","signatures":[{"sig":"MEQCICCstcfuV0J3f5aQM2AKGroiaPdd18RAUjG8kSWTzmrrAiATQnLdXl7ZVEY4QUfcddnFRfx8wNVAPe7e8Lu5ygr6Vg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":336839},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"},"./browser":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","default":"./dist/browser.js","require":"./dist/browser.cjs"},"./package.json":"./package.json","./react-native":{"types":"./dist/react-native.d.ts","import":"./dist/react-native.js","default":"./dist/react-native.js","require":"./dist/react-native.cjs"}},"gitHead":"8057919da89cedb02a3b9ff1d4f3036edc7231b8","scripts":{"dev":"tsup src/index.ts src/browser.ts src/react-native.ts --format esm,cjs --dts --watch","lint":"ESLINT_USE_FLAT_CONFIG=false eslint src --ext .ts","test":"tsx --test tests/**/*.test.ts","build":"tsup src/index.ts src/browser.ts src/react-native.ts --format esm,cjs --dts","prepack":"npm run build","quality":"npm run lint && npm run typecheck && npm run test:coverage:gate","typecheck":"tsc -p tsconfig.json --noEmit","test:coverage":"node --experimental-test-coverage --import tsx --test tests/**/*.test.ts","test:coverage:gate":"node scripts/coverage-gate.mjs"},"_npmUser":{"name":"wotaso-dev","email":"contact@wotaso.com"},"_npmVersion":"10.9.4","description":"TypeScript SDK for sending onboarding, paywall, purchase and survey analytics events to AnalyticsCLI.","directories":{},"sideEffects":false,"_nodeVersion":"22.22.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.5","tsup":"^8.4.0","eslint":"^9.22.0","typescript":"^5.8.2","@types/node":"^22.13.10","@typescript-eslint/parser":"^8.26.0","@typescript-eslint/eslint-plugin":"^8.26.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.1.0-preview.10_1774447887844_0.7333711454319138","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-preview.11":{"name":"@analyticscli/sdk","version":"0.1.0-preview.11","license":"MIT","_id":"@analyticscli/sdk@0.1.0-preview.11","maintainers":[{"name":"wotaso-dev","email":"contact@wotaso.com"}],"dist":{"shasum":"e2a4250ec0a0868e729f0328111fc0badfd35521","tarball":"https://registry.npmjs.org/@analyticscli/sdk/-/sdk-0.1.0-preview.11.tgz","fileCount":16,"integrity":"sha512-6CeMLFPWOGcnFygGFBv1CgSklgFt8Kn7EUD7em06vaJ/E6GZQEroIpqfR/Im7e/c/Z7Qp3IMfPW5sZPzTuBMMg==","signatures":[{"sig":"MEUCIQC4Z0TojOeIWPwCUfGt5a+o1BcdPR3FCFFaWhnLccYa5AIgIvCiV9bkBgFKtLAsIoSi4eAtONKvwzJw9f9uEsoxxBs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":336647},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"},"./browser":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","default":"./dist/browser.js","require":"./dist/browser.cjs"},"./package.json":"./package.json","./react-native":{"types":"./dist/react-native.d.ts","import":"./dist/react-native.js","default":"./dist/react-native.js","require":"./dist/react-native.cjs"}},"gitHead":"3e5973cd26b92ac6f3b43bb2ab7d300771fcf675","scripts":{"dev":"tsup src/index.ts src/browser.ts src/react-native.ts --format esm,cjs --dts --watch","lint":"ESLINT_USE_FLAT_CONFIG=false eslint src --ext .ts","test":"tsx --test tests/**/*.test.ts","build":"tsup src/index.ts src/browser.ts src/react-native.ts --format esm,cjs --dts","prepack":"npm run build","quality":"npm run lint && npm run typecheck && npm run test:coverage:gate","typecheck":"tsc -p tsconfig.json --noEmit","test:coverage":"node --experimental-test-coverage --import tsx --test tests/**/*.test.ts","test:coverage:gate":"node scripts/coverage-gate.mjs"},"_npmUser":{"name":"wotaso-dev","email":"contact@wotaso.com"},"_npmVersion":"10.9.4","description":"TypeScript SDK for sending onboarding, paywall, purchase and survey analytics events to AnalyticsCLI.","directories":{},"sideEffects":false,"_nodeVersion":"22.22.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.5","tsup":"^8.4.0","eslint":"^9.22.0","typescript":"^5.8.2","@types/node":"^22.13.10","@typescript-eslint/parser":"^8.26.0","@typescript-eslint/eslint-plugin":"^8.26.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.1.0-preview.11_1774452168256_0.3180684512394394","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-preview.12":{"name":"@analyticscli/sdk","version":"0.1.0-preview.12","license":"MIT","_id":"@analyticscli/sdk@0.1.0-preview.12","maintainers":[{"name":"wotaso-dev","email":"contact@wotaso.com"}],"dist":{"shasum":"c8c4ada82a5e39d36939f55b7671e8a50760e3da","tarball":"https://registry.npmjs.org/@analyticscli/sdk/-/sdk-0.1.0-preview.12.tgz","fileCount":16,"integrity":"sha512-JSUrDBr+osQNFGMMMUlKJUT7y+HkKRp4fwNrIAn9bNZOQws7yspphu65t6Rp67PFsPRpfyxTVT6ugDYVhN9s/w==","signatures":[{"sig":"MEQCIAtp4kTq9+aF3/YoZHNFIIqnwQv5Z47lttQSXVZuwBS/AiBb+IU/YHJcVlFs6OgaEv8Fxl7O21cguOssardNzd7qIQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":320929},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"},"./browser":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","default":"./dist/browser.js","require":"./dist/browser.cjs"},"./package.json":"./package.json","./react-native":{"types":"./dist/react-native.d.ts","import":"./dist/react-native.js","default":"./dist/react-native.js","require":"./dist/react-native.cjs"}},"gitHead":"ec650d54828d172790c8703a852cb72c21c7462d","scripts":{"dev":"tsup src/index.ts src/browser.ts src/react-native.ts --format esm,cjs --dts --watch","lint":"ESLINT_USE_FLAT_CONFIG=false eslint src --ext .ts","test":"tsx --test tests/**/*.test.ts","build":"tsup src/index.ts src/browser.ts src/react-native.ts --format esm,cjs --dts","prepack":"npm run build","quality":"npm run lint && npm run typecheck && npm run test:coverage:gate","typecheck":"tsc -p tsconfig.json --noEmit","test:coverage":"node --experimental-test-coverage --import tsx --test tests/**/*.test.ts","test:coverage:gate":"node scripts/coverage-gate.mjs"},"_npmUser":{"name":"wotaso-dev","email":"contact@wotaso.com"},"_npmVersion":"10.9.4","description":"TypeScript SDK for sending onboarding, paywall, purchase and survey analytics events to AnalyticsCLI.","directories":{},"sideEffects":false,"_nodeVersion":"22.22.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.5","tsup":"^8.4.0","eslint":"^9.22.0","typescript":"^5.8.2","@types/node":"^22.13.10","@typescript-eslint/parser":"^8.26.0","@typescript-eslint/eslint-plugin":"^8.26.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.1.0-preview.12_1774456810301_0.08634884725466518","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-preview.13":{"name":"@analyticscli/sdk","version":"0.1.0-preview.13","license":"MIT","_id":"@analyticscli/sdk@0.1.0-preview.13","maintainers":[{"name":"wotaso-dev","email":"contact@wotaso.com"}],"dist":{"shasum":"f8f51e2480351e24e2c706cebce03d2eb1863f69","tarball":"https://registry.npmjs.org/@analyticscli/sdk/-/sdk-0.1.0-preview.13.tgz","fileCount":16,"integrity":"sha512-uB5YrYH6JJDpL4vn7Y3+PP2e6Ol9FDSGmTZvV9w0Elr6PYBlfWG7REcVNFd+NVssp1Vsd3vj/IMkFbeFYcwhrg==","signatures":[{"sig":"MEYCIQDhe01oqMfe8jeNnk0W1ZsYxJdEBwVP+bbfFz0DGoqHoQIhAOj5aphJl/ZMBkSg4kKGBtCr4eUuOhgqc2HdzrPJfsQt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":350043},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"},"./browser":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","default":"./dist/browser.js","require":"./dist/browser.cjs"},"./package.json":"./package.json","./react-native":{"types":"./dist/react-native.d.ts","import":"./dist/react-native.js","default":"./dist/react-native.js","require":"./dist/react-native.cjs"}},"gitHead":"13e8f0bb7616666bf7e4f4498bf9f0144525c5b0","scripts":{"dev":"tsup src/index.ts src/browser.ts src/react-native.ts --format esm,cjs --dts --watch","lint":"ESLINT_USE_FLAT_CONFIG=false eslint src --ext .ts","test":"tsx --test tests/**/*.test.ts","build":"tsup src/index.ts src/browser.ts src/react-native.ts --format esm,cjs --dts","prepack":"npm run build","quality":"npm run lint && npm run typecheck && npm run test:coverage:gate","typecheck":"tsc -p tsconfig.json --noEmit","test:coverage":"node --experimental-test-coverage --import tsx --test tests/**/*.test.ts","test:coverage:gate":"node scripts/coverage-gate.mjs"},"_npmUser":{"name":"wotaso-dev","email":"contact@wotaso.com"},"_npmVersion":"10.9.4","description":"TypeScript SDK for sending onboarding, paywall, purchase and survey analytics events to AnalyticsCLI.","directories":{},"sideEffects":false,"_nodeVersion":"22.22.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.5","tsup":"^8.4.0","eslint":"^9.22.0","typescript":"^5.8.2","@types/node":"^22.13.10","@typescript-eslint/parser":"^8.26.0","@typescript-eslint/eslint-plugin":"^8.26.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.1.0-preview.13_1774463225752_0.1977926658528424","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-preview.14":{"name":"@analyticscli/sdk","version":"0.1.0-preview.14","license":"MIT","_id":"@analyticscli/sdk@0.1.0-preview.14","maintainers":[{"name":"wotaso-dev","email":"contact@wotaso.com"}],"dist":{"shasum":"eaef1010216932a74294c0d0753caf273da0c8b6","tarball":"https://registry.npmjs.org/@analyticscli/sdk/-/sdk-0.1.0-preview.14.tgz","fileCount":16,"integrity":"sha512-pZLr6KVoliVYQFf9XedFMPH19ewbsYN2ogt0cz5LKWbRtPbpKnSpLj07auyT+rK1TF4SLCPNg0m5RxqnwK3fSw==","signatures":[{"sig":"MEUCIB/Y2rQElkATTQon7tyheJQ/9ROEvAUdz6g1s32RhU3TAiEA+cjjCMNM4ko51Zog3C8h9wi2922/eSoUHGX0eTDkOJ8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":352984},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"},"./browser":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","default":"./dist/browser.js","require":"./dist/browser.cjs"},"./package.json":"./package.json","./react-native":{"types":"./dist/react-native.d.ts","import":"./dist/react-native.js","default":"./dist/react-native.js","require":"./dist/react-native.cjs"}},"gitHead":"d77f5cad53833149096c2d8f3a48b2853a404388","scripts":{"dev":"tsup src/index.ts src/browser.ts src/react-native.ts --format esm,cjs --dts --watch","lint":"ESLINT_USE_FLAT_CONFIG=false eslint src --ext .ts","test":"tsx --test tests/**/*.test.ts","build":"tsup src/index.ts src/browser.ts src/react-native.ts --format esm,cjs --dts","prepack":"npm run build","quality":"npm run lint && npm run typecheck && npm run test:coverage:gate","typecheck":"tsc -p tsconfig.json --noEmit","test:coverage":"node --experimental-test-coverage --import tsx --test tests/**/*.test.ts","test:coverage:gate":"node scripts/coverage-gate.mjs"},"_npmUser":{"name":"wotaso-dev","email":"contact@wotaso.com"},"_npmVersion":"10.9.4","description":"TypeScript SDK for sending onboarding, paywall, purchase and survey analytics events to AnalyticsCLI.","directories":{},"sideEffects":false,"_nodeVersion":"22.22.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.5","tsup":"^8.4.0","eslint":"^9.22.0","typescript":"^5.8.2","@types/node":"^22.13.10","@typescript-eslint/parser":"^8.26.0","@typescript-eslint/eslint-plugin":"^8.26.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.1.0-preview.14_1774464587090_0.5677059796582542","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-preview.15":{"name":"@analyticscli/sdk","version":"0.1.0-preview.15","license":"MIT","_id":"@analyticscli/sdk@0.1.0-preview.15","maintainers":[{"name":"wotaso-dev","email":"contact@wotaso.com"}],"dist":{"shasum":"99e96787e67dcd619816db5d7f8820eb94237903","tarball":"https://registry.npmjs.org/@analyticscli/sdk/-/sdk-0.1.0-preview.15.tgz","fileCount":16,"integrity":"sha512-vc2NsS3PjF4UDBsn6F/LynkMS9QUYjzC4CVO3xb2NeuVw8ty1ZF1xSx40hKxRuqYZt2pwiQK2VOp9KI3J11xSQ==","signatures":[{"sig":"MEYCIQDFtCohDVbdAheuhhmCdf+jqdGg8mZ1bkUErxBuqaR7LQIhANQsZKjZI204hM0PS8KUGVDOE2JVGlddUKMsk+HBcofG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":353345},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"},"./browser":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","default":"./dist/browser.js","require":"./dist/browser.cjs"},"./package.json":"./package.json","./react-native":{"types":"./dist/react-native.d.ts","import":"./dist/react-native.js","default":"./dist/react-native.js","require":"./dist/react-native.cjs"}},"gitHead":"e69cb42594a29af001d36dc16ddc735a0b44cbdd","scripts":{"dev":"tsup src/index.ts src/browser.ts src/react-native.ts --format esm,cjs --dts --watch","lint":"ESLINT_USE_FLAT_CONFIG=false eslint src --ext .ts","test":"tsx --test tests/**/*.test.ts","build":"tsup src/index.ts src/browser.ts src/react-native.ts --format esm,cjs --dts","prepack":"npm run build","quality":"npm run lint && npm run typecheck && npm run test:coverage:gate","typecheck":"tsc -p tsconfig.json --noEmit","test:coverage":"node --experimental-test-coverage --import tsx --test tests/**/*.test.ts","test:coverage:gate":"node scripts/coverage-gate.mjs"},"_npmUser":{"name":"wotaso-dev","email":"contact@wotaso.com"},"_npmVersion":"10.9.4","description":"TypeScript SDK for sending onboarding, paywall, purchase and survey analytics events to AnalyticsCLI.","directories":{},"sideEffects":false,"_nodeVersion":"22.22.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.5","tsup":"^8.4.0","eslint":"^9.22.0","typescript":"^5.8.2","@types/node":"^22.13.10","@typescript-eslint/parser":"^8.26.0","@typescript-eslint/eslint-plugin":"^8.26.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.1.0-preview.15_1774470153419_0.8846190248171333","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-preview.16":{"name":"@analyticscli/sdk","version":"0.1.0-preview.16","license":"MIT","_id":"@analyticscli/sdk@0.1.0-preview.16","maintainers":[{"name":"wotaso-dev","email":"contact@wotaso.com"}],"dist":{"shasum":"31ebfc29dc215ff8a8ff4ecac0d2b6dbfcccbfee","tarball":"https://registry.npmjs.org/@analyticscli/sdk/-/sdk-0.1.0-preview.16.tgz","fileCount":16,"integrity":"sha512-SdQg7T01Fj0C17Rpqd3tm4tY0Yb3g0XMQApP9Tyi1h6rgu45ySp8zZVR2wCBn1Kymnp9ewhANmYgkrlaz6uXow==","signatures":[{"sig":"MEQCIH7WPWoveF3a5r3kBuNnIc6QkZri+VyFZyyKtVyWdwJ+AiACcYcAwjpp6n38TpdTe/jxAzJe+DWJNobzSrkz59Ytjw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":358524},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"},"./browser":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","default":"./dist/browser.js","require":"./dist/browser.cjs"},"./package.json":"./package.json","./react-native":{"types":"./dist/react-native.d.ts","import":"./dist/react-native.js","default":"./dist/react-native.js","require":"./dist/react-native.cjs"}},"gitHead":"d3c72064399035a827eb39afad51cb1e9949c357","scripts":{"dev":"tsup src/index.ts src/browser.ts src/react-native.ts --format esm,cjs --dts --watch","lint":"ESLINT_USE_FLAT_CONFIG=false eslint src --ext .ts","test":"tsx --test tests/**/*.test.ts","build":"tsup src/index.ts src/browser.ts src/react-native.ts --format esm,cjs --dts","prepack":"npm run build","quality":"npm run lint && npm run typecheck && npm run test:coverage:gate","typecheck":"tsc -p tsconfig.json --noEmit","test:coverage":"node --experimental-test-coverage --import tsx --test tests/**/*.test.ts","test:coverage:gate":"node scripts/coverage-gate.mjs"},"_npmUser":{"name":"wotaso-dev","email":"contact@wotaso.com"},"_npmVersion":"10.9.4","description":"TypeScript SDK for sending onboarding, paywall, purchase and survey analytics events to AnalyticsCLI.","directories":{},"sideEffects":false,"_nodeVersion":"22.22.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.5","tsup":"^8.4.0","eslint":"^9.22.0","typescript":"^5.8.2","@types/node":"^22.13.10","@typescript-eslint/parser":"^8.26.0","@typescript-eslint/eslint-plugin":"^8.26.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.1.0-preview.16_1774483424539_0.25097405915139714","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@analyticscli/sdk","version":"0.1.0","license":"MIT","_id":"@analyticscli/sdk@0.1.0","maintainers":[{"name":"wotaso-dev","email":"contact@wotaso.com"}],"dist":{"shasum":"9b8c28ab26bc9401a1770ddc3eb769d63823ef8b","tarball":"https://registry.npmjs.org/@analyticscli/sdk/-/sdk-0.1.0.tgz","fileCount":16,"integrity":"sha512-TvMg0y/pF/lhpE+uWpK/3PlZStvr3vQZjui0/GONFRBpoj4iFEcSo3ERvu/NGi/DnazcgxZGFlbtV6jHjCnRWg==","signatures":[{"sig":"MEYCIQDKYLz+8kISFEqYiv8bagiZqptX/K9INM6C5E57ox6NGAIhAKzhMRTse1bW0jvWO7m0OsdVh8qAkiZ4CNi6RBNv76iF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":421576},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"},"./browser":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","default":"./dist/browser.js","require":"./dist/browser.cjs"},"./package.json":"./package.json","./react-native":{"types":"./dist/react-native.d.ts","import":"./dist/react-native.js","default":"./dist/react-native.js","require":"./dist/react-native.cjs"}},"scripts":{"dev":"tsup src/index.ts src/browser.ts src/react-native.ts --format esm,cjs --dts --watch","lint":"ESLINT_USE_FLAT_CONFIG=false eslint src --ext .ts","test":"tsx --test tests/**/*.test.ts","build":"tsup src/index.ts src/browser.ts src/react-native.ts --format esm,cjs --dts","prepack":"npm run build","quality":"npm run lint && npm run typecheck && npm run test:coverage:gate","typecheck":"tsc -p tsconfig.json --noEmit","test:coverage":"node --experimental-test-coverage --import tsx --test tests/**/*.test.ts","test:coverage:gate":"node scripts/coverage-gate.mjs"},"_npmUser":{"name":"wotaso-dev","email":"contact@wotaso.com"},"_npmVersion":"10.5.2","description":"TypeScript SDK for sending onboarding, paywall, purchase and survey analytics events to AnalyticsCLI.","directories":{},"sideEffects":false,"_nodeVersion":"21.7.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","tsup":"^8.4.0","eslint":"^9.22.0","typescript":"^5.8.2","@types/node":"^22.13.10","@typescript-eslint/parser":"^8.26.0","@typescript-eslint/eslint-plugin":"^8.26.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.1.0_1779875238264_0.6726319734407047","host":"s3://npm-registry-packages-npm-production"}},"0.1.1-preview.0":{"name":"@analyticscli/sdk","version":"0.1.1-preview.0","license":"MIT","_id":"@analyticscli/sdk@0.1.1-preview.0","maintainers":[{"name":"wotaso-dev","email":"contact@wotaso.com"}],"dist":{"shasum":"327a16da2cb54e9a108683048809e365688143c2","tarball":"https://registry.npmjs.org/@analyticscli/sdk/-/sdk-0.1.1-preview.0.tgz","fileCount":16,"integrity":"sha512-9L0RMwtAsJt22L2WlQ2uNWxFMg/O/wJcv9j3z/eqIn/pvoTeAvHXRniGfKUysmQhRINTHA6hFV/FgDeXWCTmkw==","signatures":[{"sig":"MEUCIDoiXm47KBSOb3UmE+zjajNIt4O/6cmkyme1+/d60d19AiEAt9Zl70jQ37u/jU+/kS7rJJEqJb2bxkgt1wITYrsDMLU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":421586},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"},"./browser":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","default":"./dist/browser.js","require":"./dist/browser.cjs"},"./package.json":"./package.json","./react-native":{"types":"./dist/react-native.d.ts","import":"./dist/react-native.js","default":"./dist/react-native.js","require":"./dist/react-native.cjs"}},"scripts":{"dev":"tsup src/index.ts src/browser.ts src/react-native.ts --format esm,cjs --dts --watch","lint":"ESLINT_USE_FLAT_CONFIG=false eslint src --ext .ts","test":"tsx --test tests/**/*.test.ts","build":"tsup src/index.ts src/browser.ts src/react-native.ts --format esm,cjs --dts","prepack":"npm run build","quality":"npm run lint && npm run typecheck && npm run test:coverage:gate","typecheck":"tsc -p tsconfig.json --noEmit","test:coverage":"node --experimental-test-coverage --import tsx --test tests/**/*.test.ts","test:coverage:gate":"node scripts/coverage-gate.mjs"},"_npmUser":{"name":"wotaso-dev","email":"contact@wotaso.com"},"_npmVersion":"10.5.2","description":"TypeScript SDK for sending onboarding, paywall, purchase and survey analytics events to AnalyticsCLI.","directories":{},"sideEffects":false,"_nodeVersion":"21.7.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.5","tsup":"^8.4.0","eslint":"^9.22.0","typescript":"^5.8.2","@types/node":"^22.13.10","@typescript-eslint/parser":"^8.26.0","@typescript-eslint/eslint-plugin":"^8.26.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.1.1-preview.0_1779875368796_0.9031354517135055","host":"s3://npm-registry-packages-npm-production"}},"0.1.1-preview.1":{"name":"@analyticscli/sdk","version":"0.1.1-preview.1","license":"MIT","_id":"@analyticscli/sdk@0.1.1-preview.1","maintainers":[{"name":"wotaso-dev","email":"contact@wotaso.com"}],"dist":{"shasum":"45713056beae63596613ffae9f9334aa80f2d7a6","tarball":"https://registry.npmjs.org/@analyticscli/sdk/-/sdk-0.1.1-preview.1.tgz","fileCount":16,"integrity":"sha512-alIJX+xxDHj6Hr7qtaPJ5TEZ5O3Q9TE/sOoGJv/i0VUjG7pmHLRi9haswc1vIO2iziXevESF5MKNmT0zLCgE8w==","signatures":[{"sig":"MEUCIQDDKLQVspJUsoRkM8eW2OKM9jNhX44X1/BZzR2uqgB2DAIgTlVwIChP4r1MEvaoO/V5TfGh0UGfTE21whI+jBP2ak4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":422613},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"},"./browser":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","default":"./dist/browser.js","require":"./dist/browser.cjs"},"./package.json":"./package.json","./react-native":{"types":"./dist/react-native.d.ts","import":"./dist/react-native.js","default":"./dist/react-native.js","require":"./dist/react-native.cjs"}},"gitHead":"2309637781c28b1ee23e95fb6c552d8f7513b7ae","scripts":{"dev":"tsup src/index.ts src/browser.ts src/react-native.ts --format esm,cjs --dts --watch","lint":"ESLINT_USE_FLAT_CONFIG=false eslint src --ext .ts","test":"tsx --test tests/**/*.test.ts","build":"rm -rf dist && tsup src/index.ts src/browser.ts src/react-native.ts --format esm,cjs --dts","prepack":"npm run build","quality":"npm run lint && npm run typecheck && npm run test:coverage:gate","typecheck":"tsc -p tsconfig.json --noEmit","test:coverage":"node --experimental-test-coverage --import tsx --test tests/**/*.test.ts","test:coverage:gate":"node scripts/coverage-gate.mjs"},"_npmUser":{"name":"wotaso-dev","email":"contact@wotaso.com"},"_npmVersion":"10.5.2","description":"TypeScript SDK for sending onboarding, paywall, purchase and survey analytics events to AnalyticsCLI.","directories":{},"sideEffects":false,"_nodeVersion":"21.7.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.5","tsup":"^8.4.0","eslint":"^9.22.0","typescript":"^5.8.2","@types/node":"^22.13.10","@typescript-eslint/parser":"^8.26.0","@typescript-eslint/eslint-plugin":"^8.26.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.1.1-preview.1_1781290272763_0.38025667441329936","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@analyticscli/sdk","version":"0.1.1","license":"MIT","_id":"@analyticscli/sdk@0.1.1","maintainers":[{"name":"wotaso-dev","email":"contact@wotaso.com"}],"homepage":"https://github.com/Wotaso/analyticscli-sdk-ts#readme","bugs":{"url":"https://github.com/Wotaso/analyticscli-sdk-ts/issues"},"dist":{"shasum":"da2e64c36420646b8a98d9f8dcc7abf2d223aaf9","tarball":"https://registry.npmjs.org/@analyticscli/sdk/-/sdk-0.1.1.tgz","fileCount":16,"integrity":"sha512-hhbMnsmhou1IXdNZY0H/GAxDlaubzmjO5ccVWbOma8miuDYMJXA8ePq/cR/FLV7wZWoxHnrGh5qOTyID+DDkGQ==","signatures":[{"sig":"MEQCIHXClT5kH2VyD932EIdrEWBgKeY2hOIC+d8PNAhRxU7MAiBAj7XPXmUisM0r8CWWfvEA8wpv2XAITJEELqSnXrp0CQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@analyticscli%2fsdk@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":422496},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"},"./browser":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","default":"./dist/browser.js","require":"./dist/browser.cjs"},"./package.json":"./package.json","./react-native":{"types":"./dist/react-native.d.ts","import":"./dist/react-native.js","default":"./dist/react-native.js","require":"./dist/react-native.cjs"}},"gitHead":"b0601ac4a28d4f243f68acdae53c5fe61c01ae97","scripts":{"dev":"tsup src/index.ts src/browser.ts src/react-native.ts --format esm,cjs --dts --watch","lint":"ESLINT_USE_FLAT_CONFIG=false eslint src --ext .ts","test":"tsx --test tests/**/*.test.ts","build":"rm -rf dist && tsup src/index.ts src/browser.ts src/react-native.ts --format esm,cjs --dts","prepack":"npm run build","quality":"npm run lint && npm run typecheck && npm run test:coverage:gate","typecheck":"tsc -p tsconfig.json --noEmit","test:coverage":"node --experimental-test-coverage --import tsx --test tests/**/*.test.ts","test:coverage:gate":"node scripts/coverage-gate.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8549b121-e95d-46d5-8b37-673b49538790"}},"repository":{"url":"git+https://github.com/Wotaso/analyticscli-sdk-ts.git","type":"git"},"_npmVersion":"11.17.0","description":"TypeScript SDK for sending onboarding, paywall, purchase and survey analytics events to AnalyticsCLI.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","tsup":"^8.4.0","eslint":"^9.22.0","typescript":"^5.8.2","@types/node":"^22.13.10","@typescript-eslint/parser":"^8.26.0","@typescript-eslint/eslint-plugin":"^8.26.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.1.1_1782434343702_0.9280116792598738","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@analyticscli/sdk","version":"0.1.2","license":"MIT","_id":"@analyticscli/sdk@0.1.2","maintainers":[{"name":"wotaso-dev","email":"contact@wotaso.com"}],"homepage":"https://github.com/Wotaso/analyticscli-sdk-ts#readme","bugs":{"url":"https://github.com/Wotaso/analyticscli-sdk-ts/issues"},"dist":{"shasum":"7f37ddd87a49bdfabdc05f1a85f448a5fc392e6a","tarball":"https://registry.npmjs.org/@analyticscli/sdk/-/sdk-0.1.2.tgz","fileCount":16,"integrity":"sha512-CJgupFzqJxjTAlEU4ncZkHyYfrJ7q1Aa/GiyW+qSsspaVQQoqnhAyw/zSao6Js0ae9h3fo1JKKaW3ukHgD8wQQ==","signatures":[{"sig":"MEYCIQDQIQKbA1wV70y/EkSg2eqh08nUvpLEOAg6QrAq+OJiygIhAIWsZXpVNMbyT0wdr5W8BvgRZ01+PHmaFrnRudrXf2jL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@analyticscli%2fsdk@0.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":495564},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"},"./browser":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","default":"./dist/browser.js","require":"./dist/browser.cjs"},"./package.json":"./package.json","./react-native":{"types":"./dist/react-native.d.ts","import":"./dist/react-native.js","default":"./dist/react-native.js","require":"./dist/react-native.cjs"}},"gitHead":"6e66968a0d50e8c14fb5b87321ed56bf20e7d654","scripts":{"dev":"tsup src/index.ts src/browser.ts src/react-native.ts --format esm,cjs --dts --watch","lint":"ESLINT_USE_FLAT_CONFIG=false eslint src --ext .ts","test":"tsx --test tests/**/*.test.ts","build":"rm -rf dist && tsup src/index.ts src/browser.ts src/react-native.ts --format esm,cjs --dts","prepack":"npm run build","quality":"npm run lint && npm run typecheck && npm run test:coverage:gate","typecheck":"tsc -p tsconfig.json --noEmit","test:coverage":"node --experimental-test-coverage --import tsx --test tests/**/*.test.ts","test:coverage:gate":"node scripts/coverage-gate.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8549b121-e95d-46d5-8b37-673b49538790"}},"repository":{"url":"git+https://github.com/Wotaso/analyticscli-sdk-ts.git","type":"git"},"_npmVersion":"11.18.0","description":"TypeScript SDK for sending onboarding, paywall, purchase and survey analytics events to AnalyticsCLI.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","tsup":"^8.4.0","eslint":"^9.22.0","typescript":"^5.8.2","@types/node":"^22.13.10","@typescript-eslint/parser":"^8.26.0","@typescript-eslint/eslint-plugin":"^8.26.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.1.2_1784908821632_0.5531087904613172","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@analyticscli/sdk","version":"0.1.3","license":"MIT","_id":"@analyticscli/sdk@0.1.3","maintainers":[{"name":"wotaso-dev","email":"contact@wotaso.com"}],"homepage":"https://github.com/Wotaso/analyticscli-sdk-ts#readme","bugs":{"url":"https://github.com/Wotaso/analyticscli-sdk-ts/issues"},"dist":{"shasum":"468d105b2b61bddf95f9ee0a982d372dfeb1cddf","tarball":"https://registry.npmjs.org/@analyticscli/sdk/-/sdk-0.1.3.tgz","fileCount":16,"integrity":"sha512-yi5Qwqlw3mU85+km2sv1mtrdHPuHf9Bm4Lw6WM11Hlpy46XWlA630smHF0uYqlo/4S4fim19ykWnu4LHlEZn3g==","signatures":[{"sig":"MEUCIQCZQiONn1wjIE5r/AWKZnRZ/VuSdlq2HmqPhG79uHvdDAIgTL9cyz1eZhUyfenU2YHRnKwSB4QhhmSWnAdOCwmXdVo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@analyticscli%2fsdk@0.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":500720},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"},"./browser":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","default":"./dist/browser.js","require":"./dist/browser.cjs"},"./package.json":"./package.json","./react-native":{"types":"./dist/react-native.d.ts","import":"./dist/react-native.js","default":"./dist/react-native.js","require":"./dist/react-native.cjs"}},"gitHead":"c391c158502b839b0202298fa46187f135c6ddd9","scripts":{"dev":"tsup src/index.ts src/browser.ts src/react-native.ts --format esm,cjs --dts --watch","lint":"ESLINT_USE_FLAT_CONFIG=false eslint src --ext .ts","test":"tsx --test tests/**/*.test.ts","build":"rm -rf dist && tsup src/index.ts src/browser.ts src/react-native.ts --format esm,cjs --dts","prepack":"npm run build","quality":"npm run lint && npm run typecheck && npm run test:coverage:gate","typecheck":"tsc -p tsconfig.json --noEmit","test:coverage":"node --experimental-test-coverage --import tsx --test tests/**/*.test.ts","test:coverage:gate":"node scripts/coverage-gate.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8549b121-e95d-46d5-8b37-673b49538790"}},"repository":{"url":"git+https://github.com/Wotaso/analyticscli-sdk-ts.git","type":"git"},"_npmVersion":"11.18.0","description":"TypeScript SDK for sending onboarding, paywall, purchase and survey analytics events to AnalyticsCLI.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","tsup":"^8.4.0","eslint":"^9.22.0","typescript":"^5.8.2","@types/node":"^22.13.10","@typescript-eslint/parser":"^8.26.0","@typescript-eslint/eslint-plugin":"^8.26.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.1.3_1785200987015_0.6848726744113964","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@analyticscli/sdk","version":"0.1.4","description":"TypeScript SDK for sending onboarding, paywall, purchase and survey analytics events to AnalyticsCLI.","license":"MIT","repository":{"type":"git","url":"git+https://github.com/Wotaso/analyticscli-sdk-ts.git"},"type":"module","main":"dist/index.cjs","module":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs","default":"./dist/index.js"},"./browser":{"types":"./dist/browser.d.ts","import":"./dist/browser.js","require":"./dist/browser.cjs","default":"./dist/browser.js"},"./react-native":{"types":"./dist/react-native.d.ts","import":"./dist/react-native.js","require":"./dist/react-native.cjs","default":"./dist/react-native.js"},"./package.json":"./package.json"},"sideEffects":false,"publishConfig":{"access":"public"},"scripts":{"build":"rm -rf dist && tsup src/index.ts src/browser.ts src/react-native.ts --format esm,cjs --dts","dev":"tsup src/index.ts src/browser.ts src/react-native.ts --format esm,cjs --dts --watch","prepack":"npm run build","typecheck":"tsc -p tsconfig.json --noEmit","lint":"ESLINT_USE_FLAT_CONFIG=false eslint src --ext .ts","test":"tsx --test tests/**/*.test.ts","test:coverage":"node --experimental-test-coverage --import tsx --test tests/**/*.test.ts","test:coverage:gate":"node scripts/coverage-gate.mjs","quality":"npm run lint && npm run typecheck && npm run test:coverage:gate"},"devDependencies":{"@types/node":"^22.13.10","@typescript-eslint/eslint-plugin":"^8.26.0","@typescript-eslint/parser":"^8.26.0","eslint":"^9.22.0","typescript":"^5.8.2","tsx":"^4.20.5","tsup":"^8.4.0"},"gitHead":"c08e651bc284c029316fa5c158a80567de922051","_id":"@analyticscli/sdk@0.1.4","bugs":{"url":"https://github.com/Wotaso/analyticscli-sdk-ts/issues"},"homepage":"https://github.com/Wotaso/analyticscli-sdk-ts#readme","_nodeVersion":"22.23.1","_npmVersion":"11.19.0","dist":{"integrity":"sha512-nS+gEdCfuH9TDvsmDl3bqx59tKJ1JPK1IQqSuxXQsJSmHPV7KcddCNZ+z0FNq5Rk3QJ/jXRa3JtAot2AbuZ2nw==","shasum":"7d163fa65c1882084a651c75f8ab7780cdc0d49b","tarball":"https://registry.npmjs.org/@analyticscli/sdk/-/sdk-0.1.4.tgz","fileCount":16,"unpackedSize":500720,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@analyticscli%2fsdk@0.1.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDKLtDIwpVMll2UG7vS6ILdIJmNmVSnODxA3A1Jo+Gw6AIgfnss2IGl5k3+fS/OVrqpq1+pkpj6megGJsbRnuLHJuo="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8549b121-e95d-46d5-8b37-673b49538790"}},"directories":{},"maintainers":[{"name":"wotaso-dev","email":"contact@wotaso.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/sdk_0.1.4_1785921814360_0.4803506021427697"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-14T00:43:37.087Z","modified":"2026-08-05T09:23:34.845Z","0.1.0-preview.4":"2026-03-14T00:43:37.360Z","0.1.0-preview.5":"2026-03-22T12:30:30.340Z","0.1.0-preview.6":"2026-03-23T12:43:33.407Z","0.1.0-preview.7":"2026-03-23T16:13:12.503Z","0.1.0-preview.8":"2026-03-23T17:38:56.771Z","0.1.0-preview.9":"2026-03-25T11:27:06.409Z","0.1.0-preview.10":"2026-03-25T14:11:28.009Z","0.1.0-preview.11":"2026-03-25T15:22:48.422Z","0.1.0-preview.12":"2026-03-25T16:40:10.468Z","0.1.0-preview.13":"2026-03-25T18:27:05.908Z","0.1.0-preview.14":"2026-03-25T18:49:47.228Z","0.1.0-preview.15":"2026-03-25T20:22:33.597Z","0.1.0-preview.16":"2026-03-26T00:03:44.849Z","0.1.0":"2026-05-27T09:47:18.411Z","0.1.1-preview.0":"2026-05-27T09:49:28.935Z","0.1.1-preview.1":"2026-06-12T18:51:12.949Z","0.1.1":"2026-06-26T00:39:03.876Z","0.1.2":"2026-07-24T16:00:21.792Z","0.1.3":"2026-07-28T01:09:47.159Z","0.1.4":"2026-08-05T09:23:34.518Z"},"bugs":{"url":"https://github.com/Wotaso/analyticscli-sdk-ts/issues"},"license":"MIT","homepage":"https://github.com/Wotaso/analyticscli-sdk-ts#readme","repository":{"type":"git","url":"git+https://github.com/Wotaso/analyticscli-sdk-ts.git"},"description":"TypeScript SDK for sending onboarding, paywall, purchase and survey analytics events to AnalyticsCLI.","maintainers":[{"name":"wotaso-dev","email":"contact@wotaso.com"}],"readme":"# @analyticscli/sdk\n\nTypeScript-first SDK for tenant developers sending onboarding, paywall, purchase, and survey analytics events to the AnalyticsCLI ingest API.\n\nUsing a coding agent: you can let it handle SDK integration and instrumentation end-to-end with the AnalyticsCLI skills repo:\nhttps://github.com/Wotaso/analyticscli-skills\n\nUse the same package in:\n- React Native / Expo apps\n- Browser React apps\n- plain JavaScript and TypeScript codebases\n\n## Install\n\n```bash\nnpm install @analyticscli/sdk\n```\n\nWhen a stable release becomes available, install without a tag:\n\n```bash\nnpm install @analyticscli/sdk\n```\n\n## Dashboard Credentials\n\nBefore integrating, collect required values in [dash.analyticscli.com](https://dash.analyticscli.com):\n\n- Select the target project.\n- Open **API Keys** and copy the publishable ingest API key for SDK `apiKey`.\n- If you validate with CLI, create/copy an account CLI `readonly_token` in the same **API Keys** area.\n- Optional for CLI verification: set a default project once with `analyticscli projects select` (arrow-key picker), or pass `--project <project_id>` per command.\n\n## Web / JavaScript Setup\n\nFor web apps, keep setup explicit and publishable-key only:\n\n```ts\nimport { init } from '@analyticscli/sdk';\n\nexport const analytics = init({\n  apiKey: process.env.NEXT_PUBLIC_ANALYTICSCLI_PUBLISHABLE_API_KEY ?? '',\n  platform: 'web',\n  projectSurface: 'app',\n  identityTrackingMode: 'consent_gated',\n});\n```\n\nUse the public env name for your framework:\n\n- Next.js: `NEXT_PUBLIC_ANALYTICSCLI_PUBLISHABLE_API_KEY`\n- Vite/Astro: `VITE_ANALYTICSCLI_PUBLISHABLE_API_KEY`\n- SvelteKit: `PUBLIC_ANALYTICSCLI_PUBLISHABLE_API_KEY`\n- Plain browser builds: pass the key from your own runtime config object\n\nDo not use `WRITE_KEY` env names in browser code.\nThe SDK automatically flushes queued browser events on `pagehide`, hidden\n`visibilitychange`, and `beforeunload`, then removes those listeners on\n`analytics.shutdown()`.\n\nEnv-first helpers are available for setup tooling and small apps:\n\n```ts\nimport { initBrowserFromEnv } from '@analyticscli/sdk';\n\nconst analytics = initBrowserFromEnv({\n  env: import.meta.env,\n  missingConfigMode: 'throw',\n  identityTrackingMode: 'consent_gated',\n});\n```\n\nFor production app templates, explicit `init({ apiKey })` stays the clearest\noption because each framework exposes public env differently.\n\n## Usage (Low Boilerplate)\n\n```ts\nimport { init } from '@analyticscli/sdk';\n\nconst analytics = init({\n  apiKey: '<YOUR_APP_KEY>',\n  identityTrackingMode: 'consent_gated', // explicit host-app default\n});\n\nconst onboarding = analytics.createOnboardingTracker({\n  onboardingFlowId: 'onboarding_v1',\n  onboardingFlowVersion: '1.0.0',\n  isNewUser: true,\n});\n\nonboarding.start();\nonboarding.step('welcome', 0).view();\n```\n\n`init(...)` returns `AnalyticsClient` directly.\nUse tracker factories for flow-scoped instrumentation:\n- `analytics.createOnboardingTracker(...)`\n- `analytics.createPaywallTracker(...)`\n\nFor host-app integration, prefer explicit client config with\n`identityTrackingMode: 'consent_gated'` unless you intentionally need another mode.\n\nOptional runtime collection pause/resume:\n\n```ts\nimport { init } from '@analyticscli/sdk';\n\nconst analytics = init({\n  apiKey: '<YOUR_APP_KEY>',\n  identityTrackingMode: 'consent_gated',\n});\nanalytics.optOut(); // stop sending until optIn()\n// ...\nanalytics.optIn(); // resumes event collection without enabling persistent identity\n```\n\nOptional full-tracking consent gate (recommended default):\n\n```ts\nimport { init } from '@analyticscli/sdk';\n\nconst analytics = init({\n  apiKey: '<YOUR_APP_KEY>',\n  identityTrackingMode: 'consent_gated',\n});\n\n// user accepts full tracking in your consent UI\nanalytics.setFullTrackingConsent(true);\n\n// user rejects full tracking but you still keep strict anonymous analytics\nanalytics.setFullTrackingConsent(false);\n```\n\nIf `apiKey` is missing, the SDK logs a console error and remains a safe no-op client.\n\n## Optional Configuration\n\n```ts\nimport * as Application from 'expo-application';\nimport { Platform } from 'react-native';\nimport { init } from '@analyticscli/sdk';\n\nconst analytics = init({\n  apiKey: process.env.EXPO_PUBLIC_ANALYTICSCLI_PUBLISHABLE_API_KEY,\n  debug: __DEV__,\n  platform: Platform.OS,\n  projectSurface: 'app',\n  appVersion: Application.nativeApplicationVersion,\n  initialConsentGranted: true,\n  identityTrackingMode: 'consent_gated',\n  initialFullTrackingConsentGranted: false,\n  dedupeOnboardingStepViewsPerSession: true,\n  dedupeScreenViewsPerSession: true,\n  dedupeOnboardingScreenStepViewOverlapsPerSession: true,\n  screenViewDedupeWindowMs: 1200,\n  maxQueueSize: 1000,\n  onIngestError: (diagnostic) => {\n    // Forward payload-free delivery metadata to your monitoring provider.\n    console.warn(diagnostic);\n  },\n  onEventsDropped: (diagnostic) => {\n    // No event properties or identifiers are included in this diagnostic.\n    console.warn(diagnostic);\n  },\n});\n```\n\nThe SDK normalizes React Native/Expo platform values to canonical ingest values\n(`macos` -> `mac`, `win32` -> `windows`) and accepts `null` for optional\n`appVersion` inputs.\nUse `projectSurface` for product/channel separation (`landing`, `dashboard`, `app`)\nwithout overloading runtime `platform` (`web`, `ios`, `android`, ...).\n\n`dedupeOnboardingStepViewsPerSession` dedupes duplicate `onboarding:step_view`\nevents for the same step in the same session.\nWhen a new `onboarding:start` is emitted in the same session, step-view dedupe\nstate resets for that flow attempt.\n`dedupeScreenViewsPerSession` dedupes immediate duplicate `screen(...)` calls\nfor the same screen key in the same session (for example, when focus and mount\nhooks both fire for one transition). `screenViewDedupeWindowMs` controls this\nwindow (default `1200` ms) and also applies to onboarding screen/step overlap dedupe.\n`dedupeOnboardingScreenStepViewOverlapsPerSession` drops immediate overlaps\nbetween onboarding route-level `screen:*` events and `onboarding:step_view`\nfor the same step (default `true`).\nNeither setting dedupes paywall or purchase events.\n\n### Delivery reliability and graceful shutdown\n\nThe in-memory event queue is bounded by `maxQueueSize` (default `1000`, maximum\n`100000`). If an offline or stalled app reaches the limit, the oldest queued\nevents are evicted and an optional payload-free `onEventsDropped` diagnostic is\nemitted. The same limit applies while an async React Native storage adapter is\nstill hydrating identity.\n\nDelivery behavior is intentionally failure-aware:\n\n- network errors, `408`, `425`, `429`, and `5xx` responses use the configured\n  retry policy and remain queued after retries are exhausted\n- permanent `4xx` responses are not retried or requeued forever; the rejected\n  batch is dropped and reported through `onIngestError` and `onEventsDropped`\n- invalid, non-serializable, or individually oversized events are isolated so\n  they cannot block valid events behind them\n- valid batches are split automatically to remain within the collector's\n  `128 KiB` payload limit\n\n`flush()` remains the low-latency one-batch API. At explicit app/process\nboundaries, use `flushAll()` or `shutdownAsync()` to drain every queued batch:\n\n```ts\nconst result = await analytics.flushAll({ timeoutMs: 5000 });\nif (!result.completed) {\n  console.warn('Analytics queue was not fully drained', result);\n}\n\n// Removes timers/listeners first, then drains within the timeout.\nawait analytics.shutdownAsync({ timeoutMs: 5000 });\n```\n\n`flushAll()` stops after a retryable collector failure instead of hot-looping;\n`result.reason` distinguishes `drained`, `timed_out`, `retryable_failure`, and\n`auth_pause`. The existing synchronous `shutdown()` remains available when the\nhost cannot await cleanup.\n\nFor paywall funnels with stable `source` + `paywallId`, create one tracker per\nflow context and reuse it:\n\n```ts\nconst paywall = analytics.createPaywallTracker({\n  source: 'onboarding',\n  paywallId: 'default_paywall',\n  offeringId: 'rc_main', // RevenueCat example\n});\n\npaywall.shown({ fromScreen: 'onboarding_offer' });\npaywall.purchaseSuccess();\n```\n\nDo not create a new `createPaywallTracker(...)` instance for every paywall callback/event.\nStrongly prefer passing `offeringId` in tracker defaults\n(RevenueCat offering id, Adapty paywall/placement id, Superwall placement/paywall id).\n\nFor onboarding surveys, avoid repeating unchanged flow metadata at every callsite.\nCreate one onboarding tracker with defaults and emit minimal survey payloads:\n\n```ts\nconst onboarding = analytics.createOnboardingTracker({\n  onboardingFlowId: 'onboarding_main',\n  onboardingFlowVersion: '1',\n  stepCount: 7,\n  isNewUser: true,\n});\n\nonboarding.step('budget-survey', 6).surveyResponse({\n  surveyKey: 'onboarding_main',\n  questionKey: 'budget',\n  answerType: 'single_choice',\n  responseKey: '100-500',\n});\n```\n\nLean onboarding event strategy (recommended):\n- Emit `onboarding:step_view` as the default per-step progress signal.\n- Emit `onboarding:step_complete` only when the step has explicit completion semantics\n  (for example submit/continue confirmation or async success).\n- For survey steps, `onboarding:step_view` + `onboarding:survey_response` is usually enough.\n\nTenant feedback collection is also supported:\n\n```ts\nconst analytics = init({\n  apiKey: process.env.EXPO_PUBLIC_ANALYTICSCLI_PUBLISHABLE_API_KEY,\n  feedback: {\n    serviceUrl: 'https://api.analyticscli.com',\n    apiKey: process.env.EXPO_PUBLIC_ANALYTICSCLI_FEEDBACK_KEY,\n    surface: 'ios_app',\n    originName: 'settings feedback sheet',\n  },\n});\n\nawait analytics.submitFeedback({\n  message: 'The restore screen is unclear.',\n  category: 'ux',\n  locationId: 'settings/restore',\n  originName: 'restore purchases footer',\n});\n```\n\nBest practice:\n- always send a stable `locationId`\n- always send a stable `originName` so feedback can be traced back to the exact product surface\n- point `feedback.serviceUrl` at a tenant-owned backend/proxy or the AnalyticsCLI feedback endpoint\n- for AnalyticsCLI-backed feedback, use a project-scoped public feedback key; `appId` is optional and only needed for third-party endpoints that require it\n- do not put privileged feedback secrets into mobile client binaries\n- the SDK tracks lightweight `feedback:*` analytics events without including the raw message text\n\nFor RevenueCat correlation, keep identity and paywall purchase metadata aligned:\n\n```ts\nanalytics.setUser(appUserId); // same id passed to Purchases.logIn(appUserId)\n// in purchase callbacks, prefer provider-native ids\npaywall.purchaseStarted({\n  offeringId: 'rc_main',\n  packageId: packageBeingPurchased.identifier, // optional, still useful for plan-level breakdowns\n});\n// on sign-out\nanalytics.clearUser();\n```\n\nIdentity tracking modes:\n- `consent_gated` (default): starts strict (no persistent identity), enables persistence/linkage only after full-tracking consent is granted\n- `always_on`: enables persistence/linkage immediately (`enableFullTrackingWithoutConsent: true` is a boolean shortcut)\n- `strict`: keeps strict anonymous behavior permanently\n\nRecommendation for global tenant apps:\n- keep `consent_gated` as default, especially when EU/EEA/UK traffic is in scope\n- for consent-required website analytics, start event collection disabled with `initialConsentGranted: false` or `initConsentFirst(...)`\n\nIn strict phase (and in `strict` mode):\n- no persistent SDK identity across app/browser restarts\n- no cookie-domain identity continuity\n- `analytics.identify(...)` / `analytics.setUser(...)` are ignored\n\n`initialConsentGranted` is optional:\n- default: `true` when `apiKey` is present\n- you can still pause/resume collection at runtime with consent APIs when your app needs that\n- for optional EU/EEA/UK website analytics, set it to `false` until consent is granted\n\nManaged web ingest note:\n- for `platform=web`, the hosted edge collector replaces incoming SDK identifiers with short-lived salted identifiers and clears incoming `userId`\n- use `projectSurface` for segmentation such as `landing`, `dashboard`, or `app`\n\nProperty privacy defense-in-depth:\n\n- the SDK recursively removes known PII and secret keys before enqueueing,\n  including case/separator variants such as `E-MAIL`, `phone_number`,\n  `session-token`, `authorization`, and `api_key`\n- nested objects and arrays are sanitized; cycles and values deeper than 20\n  levels are replaced with `null`\n- matching is exact after normalization, so useful product fields such as\n  `emailOptIn`, `tokenCount`, `passwordResetCompleted`, and `apiKeyCreated`\n  remain available for analysis\n- this is a key-based safety net, not a replacement for avoiding PII in event\n  values; the hosted collector applies the same policy again server-side\n\nRuntime collection control APIs:\n- `analytics.getConsent()` -> current in-memory consent\n- `analytics.getConsentState()` -> `'granted' | 'denied' | 'unknown'`\n- `analytics.optIn()` / `analytics.optOut()`\n- `analytics.setConsent(true|false)`\n\nFull-tracking control APIs:\n- `analytics.setFullTrackingConsent(true|false)`\n- `analytics.optInFullTracking()` / `analytics.optOutFullTracking()`\n- `analytics.isFullTrackingEnabled()`\n\n`analytics.ready()` does not \"start\" tracking. With default settings, tracking\nstarts on `init(...)`.\n\nUse your project-specific publishable API key from the AnalyticsCLI dashboard in your workspace.\nOnly the publishable API key (`apiKey`) is needed for SDK setup calls.\nThe SDK uses the default collector endpoint internally.\nIn host apps, do not pass `endpoint` and do not add `ANALYTICSCLI_ENDPOINT` env vars.\n\nBrowser cookie-domain continuity is disabled while strict mode is active.\nFor redirects across different domains, use a backend-issued short-lived handoff token rather than relying on third-party cookies.\n\n## Releases\n\nUse npm package versions and GitHub Releases in the public SDK repository as\nthe source for release history.\n","readmeFilename":"README.md"}