{"_id":"@chaseleto/sessions-sdk","_rev":"17-9115643890d2917a125aeb9bd478280c","name":"@chaseleto/sessions-sdk","dist-tags":{"latest":"1.0.18"},"versions":{"1.0.0":{"name":"@chaseleto/sessions-sdk","version":"1.0.0","keywords":["session-recording","analytics","rrweb","privacy","self-hosted","session-replay","user-tracking","web-analytics"],"author":{"name":"Chase Leto"},"license":"MIT","_id":"@chaseleto/sessions-sdk@1.0.0","maintainers":[{"name":"chaseleto","email":"cal20518@gmail.com"}],"homepage":"https://github.com/chaseleto/sessions#readme","bugs":{"url":"https://github.com/chaseleto/sessions/issues"},"dist":{"shasum":"746c549c0578afa021e275697244dfd5c5dc7417","tarball":"https://registry.npmjs.org/@chaseleto/sessions-sdk/-/sessions-sdk-1.0.0.tgz","fileCount":24,"integrity":"sha512-TtzmTEdhK9TeYvUX4MKuRrchX45h6oVDQ4W5NzDQ1AQJvn/agwsMQnUarAwf5WC6CNLymxMO5u/xd1Ufy+nnBA==","signatures":[{"sig":"MEUCIFuPTrzZLEeQCdaM5AW6dQ+cmIhnf7fuHKwv7vEzN+fYAiEA2fFzkShYd6iEzYaS/RcAnEwCNfqjIBb3AsFpo4RBYxk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5415045},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","unpkg":"dist/index.umd.js","module":"dist/index.esm.js","engines":{"node":">=14.0.0"},"private":false,"scripts":{"dev":"rollup -c -w","lint":"eslint src --ext .ts,.js","test":"jest","build":"rollup -c","serve":"npx http-server dist -p 8083 -c-1","prepack":"npm run build","dev:serve":"npm run build && npm run serve","postbuild":"cp dist/index.umd.js ../dashboard-ui/sdk.js","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"chaseleto","email":"cal20518@gmail.com"},"repository":{"url":"git+https://github.com/chaseleto/sessions.git","type":"git"},"_npmVersion":"10.9.2","description":"Privacy-conscious session recording SDK for self-hosted session tracking","directories":{},"_nodeVersion":"22.17.0","dependencies":{"rrweb":"^2.0.0-alpha.15"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","tslib":"^2.6.0","eslint":"^8.0.0","rollup":"^3.0.0","ts-jest":"^29.0.0","typescript":"^5.0.0","@types/jest":"^29.0.0","@rollup/plugin-terser":"^0.4.4","jest-environment-jsdom":"^30.0.5","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.0.0","@typescript-eslint/parser":"^6.0.0","@rollup/plugin-node-resolve":"^15.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/sessions-sdk_1.0.0_1753281713228_0.383168609361759","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@chaseleto/sessions-sdk","version":"1.0.1","keywords":["session-recording","analytics","rrweb","privacy","self-hosted","session-replay","user-tracking","web-analytics"],"author":{"name":"Chase Leto"},"license":"MIT","_id":"@chaseleto/sessions-sdk@1.0.1","maintainers":[{"name":"chaseleto","email":"cal20518@gmail.com"}],"homepage":"https://github.com/chaseleto/sessions#readme","bugs":{"url":"https://github.com/chaseleto/sessions/issues"},"dist":{"shasum":"92e6cc7349cafade2bff27028f668c16381f334b","tarball":"https://registry.npmjs.org/@chaseleto/sessions-sdk/-/sessions-sdk-1.0.1.tgz","fileCount":24,"integrity":"sha512-diRZ1GGziKv0xGXepqbTD17kuk5uS/M01mxVxWdGIgJXEs+CLvrFgRfvJKj4T0hgJ5pnfjPMNd0XYfgD+YDUtw==","signatures":[{"sig":"MEYCIQCEWWnOyeK5Tg0mCx1+etNEV7VSqKwdw2OOD15jY2nbCQIhAKZM+X28cOifeZKadgGlrdh2YJ3DQlJoYZ13sKkfHIiO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5436013},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","unpkg":"dist/index.umd.js","module":"dist/index.esm.js","engines":{"node":">=14.0.0"},"gitHead":"991db67c07cf9b6e81b74acb40dd542c6bb17820","private":false,"scripts":{"dev":"rollup -c -w","lint":"eslint src --ext .ts,.js","test":"jest","build":"rollup -c","serve":"npx http-server dist -p 8083 -c-1","prepack":"npm run build","dev:serve":"npm run build && npm run serve","postbuild":"cp dist/index.umd.js ../dashboard-ui/sdk.js","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"chaseleto","email":"cal20518@gmail.com"},"repository":{"url":"git+https://github.com/chaseleto/sessions.git","type":"git"},"_npmVersion":"10.9.2","description":"Privacy-conscious session recording SDK for self-hosted session tracking","directories":{},"_nodeVersion":"22.17.0","dependencies":{"rrweb":"^2.0.0-alpha.15"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","tslib":"^2.6.0","eslint":"^8.0.0","rollup":"^3.0.0","ts-jest":"^29.0.0","typescript":"^5.0.0","@types/jest":"^29.0.0","@rollup/plugin-terser":"^0.4.4","jest-environment-jsdom":"^30.0.5","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.0.0","@typescript-eslint/parser":"^6.0.0","@rollup/plugin-node-resolve":"^15.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/sessions-sdk_1.0.1_1753282906312_0.24204451057718224","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@chaseleto/sessions-sdk","version":"1.0.2","keywords":["session-recording","analytics","rrweb","privacy","self-hosted","session-replay","user-tracking","web-analytics"],"author":{"name":"Chase Leto"},"license":"MIT","_id":"@chaseleto/sessions-sdk@1.0.2","maintainers":[{"name":"chaseleto","email":"cal20518@gmail.com"}],"homepage":"https://github.com/chaseleto/sessions#readme","bugs":{"url":"https://github.com/chaseleto/sessions/issues"},"dist":{"shasum":"79537a1a255a3c8eeff790444bad701a2792b07c","tarball":"https://registry.npmjs.org/@chaseleto/sessions-sdk/-/sessions-sdk-1.0.2.tgz","fileCount":24,"integrity":"sha512-DCyR8GitdYP+I9ysff7wJRWVdJxQ5CeL4ukR4fQ03ax8Rk3A165PsSjAkCkFKcSij/W4JMtXFrXs5NzPOSazgQ==","signatures":[{"sig":"MEYCIQD6G9LLoSqb/bHoz9TgERWmErOpCDU/NCWA1c2AO+GDEQIhAL8wGtCZ+d53lfpvW5zxyB0qvL4qRqyGFoySuVgYZlYy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5436013},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","unpkg":"dist/index.umd.js","module":"dist/index.esm.js","engines":{"node":">=14.0.0"},"gitHead":"7c8a07564ed2da99531fa2ef6b1a7f96dec7074a","private":false,"scripts":{"dev":"rollup -c -w","lint":"eslint src --ext .ts,.js","test":"jest","build":"rollup -c","serve":"npx http-server dist -p 8083 -c-1","prepack":"npm run build","dev:serve":"npm run build && npm run serve","postbuild":"cp dist/index.umd.js ../dashboard-ui/sdk.js","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"chaseleto","email":"cal20518@gmail.com"},"repository":{"url":"git+https://github.com/chaseleto/sessions.git","type":"git"},"_npmVersion":"10.9.2","description":"Privacy-conscious session recording SDK for self-hosted session tracking","directories":{},"_nodeVersion":"22.17.0","dependencies":{"rrweb":"^2.0.0-alpha.15"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","tslib":"^2.6.0","eslint":"^8.0.0","rollup":"^3.0.0","ts-jest":"^29.0.0","typescript":"^5.0.0","@types/jest":"^29.0.0","@rollup/plugin-terser":"^0.4.4","jest-environment-jsdom":"^30.0.5","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.0.0","@typescript-eslint/parser":"^6.0.0","@rollup/plugin-node-resolve":"^15.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/sessions-sdk_1.0.2_1753283540531_0.8630188751666072","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@chaseleto/sessions-sdk","version":"1.0.3","keywords":["session-recording","analytics","rrweb","privacy","self-hosted","session-replay","user-tracking","web-analytics"],"author":{"name":"Chase Leto"},"license":"MIT","_id":"@chaseleto/sessions-sdk@1.0.3","maintainers":[{"name":"chaseleto","email":"cal20518@gmail.com"}],"homepage":"https://github.com/chaseleto/sessions#readme","bugs":{"url":"https://github.com/chaseleto/sessions/issues"},"dist":{"shasum":"1b108f9dcc4651bd0fa254f0defb9f1c8b4c8351","tarball":"https://registry.npmjs.org/@chaseleto/sessions-sdk/-/sessions-sdk-1.0.3.tgz","fileCount":26,"integrity":"sha512-nGGlQEuMAcUQ/NU0dQ0jHmrFHI+zpMoMSS9ni/OJ2Khxysx/vqXm0M6tHEVtSdnA24Z4qomphJJp1EMo52Mdsw==","signatures":[{"sig":"MEYCIQCqMJXY24bRz/Mr0w0nOq4kfQhMkoYXM75im5gV/PmY+wIhAJL+Yba54Hjw05um+mFvolBSx5v2AzwB5YKz7WvhbcIy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5459191},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","unpkg":"dist/index.umd.js","module":"dist/index.esm.js","engines":{"node":">=14.0.0"},"gitHead":"373ce8f61e5728da6c3908a589d55affdcc382af","private":false,"scripts":{"dev":"rollup -c -w","lint":"eslint src --ext .ts,.js","test":"jest","build":"rollup -c","serve":"npx http-server dist -p 8083 -c-1","prepack":"npm run build","dev:serve":"npm run build && npm run serve","postbuild":"cp dist/index.umd.js ../dashboard-ui/sdk.js","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"chaseleto","email":"cal20518@gmail.com"},"repository":{"url":"git+https://github.com/chaseleto/sessions.git","type":"git"},"_npmVersion":"10.9.2","description":"Privacy-conscious session recording SDK for self-hosted session tracking","directories":{},"_nodeVersion":"22.17.0","dependencies":{"rrweb":"^2.0.0-alpha.15"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","tslib":"^2.6.0","eslint":"^8.0.0","rollup":"^3.0.0","ts-jest":"^29.0.0","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/react":"^18.0.0","@rollup/plugin-terser":"^0.4.4","jest-environment-jsdom":"^30.0.5","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.0.0","@typescript-eslint/parser":"^6.0.0","@rollup/plugin-node-resolve":"^15.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/sessions-sdk_1.0.3_1753375864376_0.8033347365950516","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@chaseleto/sessions-sdk","version":"1.0.4","keywords":["session-recording","analytics","rrweb","privacy","self-hosted","session-replay","user-tracking","web-analytics"],"author":{"name":"Chase Leto"},"license":"MIT","_id":"@chaseleto/sessions-sdk@1.0.4","maintainers":[{"name":"chaseleto","email":"cal20518@gmail.com"}],"homepage":"https://github.com/chaseleto/sessions#readme","bugs":{"url":"https://github.com/chaseleto/sessions/issues"},"dist":{"shasum":"02324ab474cb291376836462b5ffd7d1e9e74f12","tarball":"https://registry.npmjs.org/@chaseleto/sessions-sdk/-/sessions-sdk-1.0.4.tgz","fileCount":26,"integrity":"sha512-9KWWp5Ud0V9QDiDtljTm9El4kTq+ELz96xSQacy5AXqjuvDslSFfMjTKQYLEvQnQIY4AzbzPdXv+PgS9gvKczQ==","signatures":[{"sig":"MEUCIGx0CuSdwico39NB0ePIHyhc1UnLkTlqYDmydDbtgylmAiEA9ImUTspWBgSWgQjxXC5jTUZJC6vnHzmUYstgzZcmSII=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5459088},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","unpkg":"dist/index.umd.js","module":"dist/index.esm.js","engines":{"node":">=14.0.0"},"gitHead":"2daf2951959c1d6013da406cf79217fbac4332fc","private":false,"scripts":{"dev":"rollup -c -w","lint":"eslint src --ext .ts,.js","test":"jest","build":"rollup -c","serve":"npx http-server dist -p 8083 -c-1","prepack":"npm run build","dev:serve":"npm run build && npm run serve","postbuild":"cp dist/index.umd.js ../dashboard-ui/sdk.js","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"chaseleto","email":"cal20518@gmail.com"},"repository":{"url":"git+https://github.com/chaseleto/sessions.git","type":"git"},"_npmVersion":"10.9.2","description":"Privacy-conscious session recording SDK for self-hosted session tracking","directories":{},"_nodeVersion":"22.17.0","dependencies":{"rrweb":"^2.0.0-alpha.15"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","tslib":"^2.6.0","eslint":"^8.0.0","rollup":"^3.0.0","ts-jest":"^29.0.0","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/react":"^18.0.0","@rollup/plugin-terser":"^0.4.4","jest-environment-jsdom":"^30.0.5","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.0.0","@typescript-eslint/parser":"^6.0.0","@rollup/plugin-node-resolve":"^15.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/sessions-sdk_1.0.4_1753376452223_0.4229076400875189","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@chaseleto/sessions-sdk","version":"1.0.5","keywords":["session-recording","analytics","rrweb","privacy","self-hosted","session-replay","user-tracking","web-analytics"],"author":{"name":"Chase Leto"},"license":"MIT","_id":"@chaseleto/sessions-sdk@1.0.5","maintainers":[{"name":"chaseleto","email":"cal20518@gmail.com"}],"homepage":"https://github.com/chaseleto/sessions#readme","bugs":{"url":"https://github.com/chaseleto/sessions/issues"},"dist":{"shasum":"133a34fc09e671b76c59827cb4d0d720525f4ea6","tarball":"https://registry.npmjs.org/@chaseleto/sessions-sdk/-/sessions-sdk-1.0.5.tgz","fileCount":26,"integrity":"sha512-V1PkoRfcCE+YmH8jSTKNJZ8TroEy4wvmZyJR8hiSIU8liH5nGykOVnzeDoG46/R+iQfTXNYNhDEQuI9jitjEZQ==","signatures":[{"sig":"MEQCIB7VdO4DZymZOiWO17oKc3QoQo0I/J56QJNJeIvWDiaYAiBljRTGoz/0JMeE+fiILLUUh0X5B97gkR30GG4DMiwvlw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5492907},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","unpkg":"dist/index.umd.js","module":"dist/index.esm.js","engines":{"node":">=14.0.0"},"gitHead":"0003103b9577af4b33d809df36bc5e7306f1c48f","private":false,"scripts":{"dev":"rollup -c -w","lint":"eslint src --ext .ts,.js","test":"jest","build":"rollup -c","serve":"npx http-server dist -p 8083 -c-1","prepack":"npm run build","dev:serve":"npm run build && npm run serve","postbuild":"cp dist/index.umd.js ../dashboard-ui/sdk.js","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"chaseleto","email":"cal20518@gmail.com"},"repository":{"url":"git+https://github.com/chaseleto/sessions.git","type":"git"},"_npmVersion":"10.9.2","description":"Privacy-conscious session recording SDK for self-hosted session tracking","directories":{},"_nodeVersion":"22.17.0","dependencies":{"rrweb":"^2.0.0-alpha.15"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","tslib":"^2.6.0","eslint":"^8.0.0","rollup":"^3.0.0","ts-jest":"^29.0.0","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/react":"^18.0.0","@rollup/plugin-terser":"^0.4.4","jest-environment-jsdom":"^30.0.5","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.0.0","@typescript-eslint/parser":"^6.0.0","@rollup/plugin-node-resolve":"^15.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/sessions-sdk_1.0.5_1753377443281_0.2818270765519235","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@chaseleto/sessions-sdk","version":"1.0.6","keywords":["session-recording","analytics","rrweb","privacy","self-hosted","session-replay","user-tracking","web-analytics"],"author":{"name":"Chase Leto"},"license":"MIT","_id":"@chaseleto/sessions-sdk@1.0.6","maintainers":[{"name":"chaseleto","email":"cal20518@gmail.com"}],"homepage":"https://github.com/chaseleto/sessions#readme","bugs":{"url":"https://github.com/chaseleto/sessions/issues"},"dist":{"shasum":"13a26fcdee0b41c4b015db226be536f2aa1a37da","tarball":"https://registry.npmjs.org/@chaseleto/sessions-sdk/-/sessions-sdk-1.0.6.tgz","fileCount":26,"integrity":"sha512-DIRnRIDDLNCH8nMupxH2DbV/TQZaOQ+Jt+MpUjszHuALiqcZMmAWGPTLIDM8dUmOV6sU4FXOUHF4jx/u/JInDA==","signatures":[{"sig":"MEUCIHpIBPlPIUue0P9rMt/ik0pFf5XTUxz9lErlQjl2n+KeAiEA0bthOlvE5/t53KgUqh1Uxb8qFP4/g+7ZrzHI61qCXDI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5498561},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","unpkg":"dist/index.umd.js","module":"dist/index.esm.js","engines":{"node":">=14.0.0"},"gitHead":"60c41115c962d614c77e7c20c0faaa817eb15d01","private":false,"scripts":{"dev":"rollup -c -w","lint":"eslint src --ext .ts,.js","test":"jest","build":"rollup -c","serve":"npx http-server dist -p 8083 -c-1","prepack":"npm run build","dev:serve":"npm run build && npm run serve","postbuild":"cp dist/index.umd.js ../dashboard-ui/sdk.js","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"chaseleto","email":"cal20518@gmail.com"},"repository":{"url":"git+https://github.com/chaseleto/sessions.git","type":"git"},"_npmVersion":"10.9.2","description":"Privacy-conscious session recording SDK for self-hosted session tracking","directories":{},"_nodeVersion":"22.17.0","dependencies":{"rrweb":"^2.0.0-alpha.15"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","tslib":"^2.6.0","eslint":"^8.0.0","rollup":"^3.0.0","ts-jest":"^29.0.0","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/react":"^18.0.0","@rollup/plugin-terser":"^0.4.4","jest-environment-jsdom":"^30.0.5","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.0.0","@typescript-eslint/parser":"^6.0.0","@rollup/plugin-node-resolve":"^15.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/sessions-sdk_1.0.6_1753377987451_0.46628211652059814","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@chaseleto/sessions-sdk","version":"1.0.7","keywords":["session-recording","analytics","rrweb","privacy","self-hosted","session-replay","user-tracking","web-analytics"],"author":{"name":"Chase Leto"},"license":"MIT","_id":"@chaseleto/sessions-sdk@1.0.7","maintainers":[{"name":"chaseleto","email":"cal20518@gmail.com"}],"homepage":"https://github.com/chaseleto/sessions#readme","bugs":{"url":"https://github.com/chaseleto/sessions/issues"},"dist":{"shasum":"b3ef24cd015d9e8720986292d3538c63edfaf84e","tarball":"https://registry.npmjs.org/@chaseleto/sessions-sdk/-/sessions-sdk-1.0.7.tgz","fileCount":26,"integrity":"sha512-xndzM3Q98hoFHXIiY4zwieDjExZDfHbdpqan1+DyfpoBDt26BX9H3yUFoxi8pepFuVChI6OK98kxGQEMj3wjFA==","signatures":[{"sig":"MEQCIF3PX5WKIwkVVETOVQuNRICCgoVLvIYvb6h7iT1Zr4xuAiBMmt9ygV/OB9UQ93xkf08ZzINJ+kdk8lPuYUtMzvh3RQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5498561},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","unpkg":"dist/index.umd.js","module":"dist/index.esm.js","engines":{"node":">=14.0.0"},"gitHead":"dbb7efda09707e0069da65a5213c101d859c0d74","private":false,"scripts":{"dev":"rollup -c -w","lint":"eslint src --ext .ts,.js","test":"jest","build":"rollup -c","serve":"npx http-server dist -p 8083 -c-1","prepack":"npm run build","dev:serve":"npm run build && npm run serve","postbuild":"cp dist/index.umd.js ../dashboard-ui/sdk.js","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"chaseleto","email":"cal20518@gmail.com"},"repository":{"url":"git+https://github.com/chaseleto/sessions.git","type":"git"},"_npmVersion":"10.9.2","description":"Privacy-conscious session recording SDK for self-hosted session tracking","directories":{},"_nodeVersion":"22.17.0","dependencies":{"rrweb":"^2.0.0-alpha.15"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","tslib":"^2.6.0","eslint":"^8.0.0","rollup":"^3.0.0","ts-jest":"^29.0.0","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/react":"^18.0.0","@rollup/plugin-terser":"^0.4.4","jest-environment-jsdom":"^30.0.5","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.0.0","@typescript-eslint/parser":"^6.0.0","@rollup/plugin-node-resolve":"^15.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/sessions-sdk_1.0.7_1753378058813_0.9007181754517142","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"@chaseleto/sessions-sdk","version":"1.0.8","keywords":["session-recording","analytics","rrweb","privacy","self-hosted","session-replay","user-tracking","web-analytics"],"author":{"name":"Chase Leto"},"license":"MIT","_id":"@chaseleto/sessions-sdk@1.0.8","maintainers":[{"name":"chaseleto","email":"cal20518@gmail.com"}],"homepage":"https://github.com/chaseleto/sessions#readme","bugs":{"url":"https://github.com/chaseleto/sessions/issues"},"dist":{"shasum":"6a56e669316f8151b0007a46a8b579a5ec395ea7","tarball":"https://registry.npmjs.org/@chaseleto/sessions-sdk/-/sessions-sdk-1.0.8.tgz","fileCount":26,"integrity":"sha512-gLkWIurv92c6T9lnHF0ah4A0reCB2Z/Ra3VbBMEPpvXaK+wCZmQRgs2mr1WbfrQdsqG1H1SI9oqYh//WPDGX2g==","signatures":[{"sig":"MEUCIQD+1o/uwSDSy3Ke868cQG1cBnF041+EBcG+jWlcGFic1QIgEclqucmZ3xzQ5+8fCu01jDjQXeOfTCU/5wd6yNUCpQs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5480691},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","unpkg":"dist/index.umd.js","module":"dist/index.esm.js","engines":{"node":">=14.0.0"},"gitHead":"9073aa0848c57237226dd7fd29f95ea844a8b001","private":false,"scripts":{"dev":"rollup -c -w","lint":"eslint src --ext .ts,.js","test":"jest","build":"rollup -c","serve":"npx http-server dist -p 8083 -c-1","prepack":"npm run build","dev:serve":"npm run build && npm run serve","postbuild":"cp dist/index.umd.js ../dashboard-ui/sdk.js","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"chaseleto","email":"cal20518@gmail.com"},"repository":{"url":"git+https://github.com/chaseleto/sessions.git","type":"git"},"_npmVersion":"10.9.2","description":"Privacy-conscious session recording SDK for self-hosted session tracking","directories":{},"_nodeVersion":"22.17.0","dependencies":{"rrweb":"^2.0.0-alpha.15"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","tslib":"^2.6.0","eslint":"^8.0.0","rollup":"^3.0.0","ts-jest":"^29.0.0","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/react":"^18.0.0","@rollup/plugin-terser":"^0.4.4","jest-environment-jsdom":"^30.0.5","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.0.0","@typescript-eslint/parser":"^6.0.0","@rollup/plugin-node-resolve":"^15.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/sessions-sdk_1.0.8_1753378578635_0.41686402054945737","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"@chaseleto/sessions-sdk","version":"1.0.9","keywords":["session-recording","analytics","rrweb","privacy","self-hosted","session-replay","user-tracking","web-analytics"],"author":{"name":"Chase Leto"},"license":"MIT","_id":"@chaseleto/sessions-sdk@1.0.9","maintainers":[{"name":"chaseleto","email":"cal20518@gmail.com"}],"homepage":"https://github.com/chaseleto/sessions#readme","bugs":{"url":"https://github.com/chaseleto/sessions/issues"},"dist":{"shasum":"3292d69bff354dc8ec5a105827a7d123bfb7386b","tarball":"https://registry.npmjs.org/@chaseleto/sessions-sdk/-/sessions-sdk-1.0.9.tgz","fileCount":26,"integrity":"sha512-Y43JrcWZQeGlcXm1/JOaCVvAAheOqZar9Fs15VQ484piTJx18U5TzxfCs1efA3zuuQdBMCywmQE5EMI8cOYetQ==","signatures":[{"sig":"MEQCIAmZsf5aw/hGWqua5gghOIAy4kdvM9YETVLM6NNC3XnMAiAYC4VuNf5zo7SACqR7/wB9kNYQ3or0TrWOAdlvTD7tzQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5480692},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","unpkg":"dist/index.umd.js","module":"dist/index.esm.js","engines":{"node":">=14.0.0"},"gitHead":"ca7df1dcef133ee16f3139be0ec1942bbb72ca3a","private":false,"scripts":{"dev":"rollup -c -w","lint":"eslint src --ext .ts,.js","test":"jest","build":"rollup -c","serve":"npx http-server dist -p 8083 -c-1","prepack":"npm run build","dev:serve":"npm run build && npm run serve","postbuild":"cp dist/index.umd.js ../dashboard-ui/sdk.js","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"chaseleto","email":"cal20518@gmail.com"},"repository":{"url":"git+https://github.com/chaseleto/sessions.git","type":"git"},"_npmVersion":"10.9.2","description":"Privacy-conscious session recording SDK for self-hosted session tracking","directories":{},"_nodeVersion":"22.17.0","dependencies":{"rrweb":"^2.0.0-alpha.15"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","tslib":"^2.6.0","eslint":"^8.0.0","rollup":"^3.0.0","ts-jest":"^29.0.0","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/react":"^18.0.0","@rollup/plugin-terser":"^0.4.4","jest-environment-jsdom":"^30.0.5","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.0.0","@typescript-eslint/parser":"^6.0.0","@rollup/plugin-node-resolve":"^15.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/sessions-sdk_1.0.9_1753378853915_0.03944185757153407","host":"s3://npm-registry-packages-npm-production"}},"1.0.10":{"name":"@chaseleto/sessions-sdk","version":"1.0.10","keywords":["session-recording","analytics","rrweb","privacy","self-hosted","session-replay","user-tracking","web-analytics"],"author":{"name":"Chase Leto"},"license":"MIT","_id":"@chaseleto/sessions-sdk@1.0.10","maintainers":[{"name":"chaseleto","email":"cal20518@gmail.com"}],"homepage":"https://github.com/chaseleto/sessions#readme","bugs":{"url":"https://github.com/chaseleto/sessions/issues"},"dist":{"shasum":"9100bfeb99f8be928ca9772c47726c9f5eccd1d8","tarball":"https://registry.npmjs.org/@chaseleto/sessions-sdk/-/sessions-sdk-1.0.10.tgz","fileCount":26,"integrity":"sha512-t1qVssUin9pvY0NhRGzuo4dcU85ufmpaqlVsZriqEh06oZsZcpVxsmsWLLocFxHDeuNx4UmBgP87XY97D8cRdQ==","signatures":[{"sig":"MEYCIQDLzqn44EliAxQvLK8cd2zD6VZM1J954eWS0PY/JYwtjgIhAKwPBSSvsYO0G5CVNnd+HwRxvW0tPZVzOlVz4uGuMiZA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5499540},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","unpkg":"dist/index.umd.js","module":"dist/index.esm.js","engines":{"node":">=14.0.0"},"gitHead":"8d5d4d1785203330b76d688d4e82d45119768f50","private":false,"scripts":{"dev":"rollup -c -w","lint":"eslint src --ext .ts,.js","test":"jest","build":"rollup -c","serve":"npx http-server dist -p 8083 -c-1","prepack":"npm run build","dev:serve":"npm run build && npm run serve","postbuild":"cp dist/index.umd.js ../dashboard-ui/sdk.js","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"chaseleto","email":"cal20518@gmail.com"},"repository":{"url":"git+https://github.com/chaseleto/sessions.git","type":"git"},"_npmVersion":"10.9.2","description":"Privacy-conscious session recording SDK for self-hosted session tracking","directories":{},"_nodeVersion":"22.17.0","dependencies":{"rrweb":"^2.0.0-alpha.15"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","tslib":"^2.6.0","eslint":"^8.0.0","rollup":"^3.0.0","ts-jest":"^29.0.0","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/react":"^18.0.0","@rollup/plugin-terser":"^0.4.4","jest-environment-jsdom":"^30.0.5","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.0.0","@typescript-eslint/parser":"^6.0.0","@rollup/plugin-node-resolve":"^15.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/sessions-sdk_1.0.10_1753549892800_0.25883989449365363","host":"s3://npm-registry-packages-npm-production"}},"1.0.11":{"name":"@chaseleto/sessions-sdk","version":"1.0.11","keywords":["session-recording","analytics","rrweb","privacy","self-hosted","session-replay","user-tracking","web-analytics"],"author":{"name":"Chase Leto"},"license":"MIT","_id":"@chaseleto/sessions-sdk@1.0.11","maintainers":[{"name":"chaseleto","email":"cal20518@gmail.com"}],"homepage":"https://github.com/chaseleto/sessions#readme","bugs":{"url":"https://github.com/chaseleto/sessions/issues"},"dist":{"shasum":"5cebac13022befcf8802ffdc0f23723ec453deb1","tarball":"https://registry.npmjs.org/@chaseleto/sessions-sdk/-/sessions-sdk-1.0.11.tgz","fileCount":26,"integrity":"sha512-BqMNysVzxQgm9JkYtb4aSfc6mftam5kO/AVjCfT5xqeXLwWMpAqNAkmJ759H4BQinY+Nbmtr/sRwRY2+LQlPUQ==","signatures":[{"sig":"MEUCIHQD9BCZG03DH4ImB9QEjHJX0MBXV0oHkIEZW6SoeydfAiEA9CccqsaTe+bjUM6DInQnPIPKjSr084BnM+KBS4V2Gpc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5514852},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","unpkg":"dist/index.umd.js","module":"dist/index.esm.js","engines":{"node":">=14.0.0"},"gitHead":"e37f27fd21585b4f43d8678d2e89a0d1262b6164","private":false,"scripts":{"dev":"rollup -c -w","lint":"eslint src --ext .ts,.js","test":"jest","build":"rollup -c","serve":"npx http-server dist -p 8083 -c-1","prepack":"npm run build","dev:serve":"npm run build && npm run serve","postbuild":"cp dist/index.umd.js ../dashboard-ui/sdk.js","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"chaseleto","email":"cal20518@gmail.com"},"repository":{"url":"git+https://github.com/chaseleto/sessions.git","type":"git"},"_npmVersion":"10.9.2","description":"Privacy-conscious session recording SDK for self-hosted session tracking","directories":{},"_nodeVersion":"22.17.0","dependencies":{"rrweb":"^2.0.0-alpha.15","@chaseleto/sessions-sdk":"^1.0.10"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","tslib":"^2.6.0","eslint":"^8.0.0","rollup":"^3.0.0","ts-jest":"^29.0.0","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/react":"^18.0.0","@rollup/plugin-terser":"^0.4.4","jest-environment-jsdom":"^30.0.5","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.0.0","@typescript-eslint/parser":"^6.0.0","@rollup/plugin-node-resolve":"^15.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/sessions-sdk_1.0.11_1753550772971_0.1128119780973258","host":"s3://npm-registry-packages-npm-production"}},"1.0.12":{"name":"@chaseleto/sessions-sdk","version":"1.0.12","keywords":["session-recording","analytics","rrweb","privacy","self-hosted","session-replay","user-tracking","web-analytics"],"author":{"name":"Chase Leto"},"license":"MIT","_id":"@chaseleto/sessions-sdk@1.0.12","maintainers":[{"name":"chaseleto","email":"cal20518@gmail.com"}],"homepage":"https://github.com/chaseleto/sessions#readme","bugs":{"url":"https://github.com/chaseleto/sessions/issues"},"dist":{"shasum":"82f7ee21450b40f2d57d528ecf3e3644dd5a25e0","tarball":"https://registry.npmjs.org/@chaseleto/sessions-sdk/-/sessions-sdk-1.0.12.tgz","fileCount":26,"integrity":"sha512-MEiVQyo7wqIwGEVFym8rQj4KierzAty6IYM8IVQHfEx6z/2tUioEgi9ujjcY1lY/IOMrCTmgUxCuEFwnFwKorA==","signatures":[{"sig":"MEQCIDsahFjXX1tdjyMg8S7Nx3XXqsx007+ouBbS6Kzcln+ZAiA7zPxztpjRW0+FfJv2qLe+hSMX4hkckKBz+ap+KFcpiA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5519319},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","unpkg":"dist/index.umd.js","module":"dist/index.esm.js","engines":{"node":">=14.0.0"},"gitHead":"9a3151f90ac15f90eecce79844d56e89ebcaaf77","private":false,"scripts":{"dev":"rollup -c -w","lint":"eslint src --ext .ts,.js","test":"jest","build":"rollup -c","serve":"npx http-server dist -p 8083 -c-1","prepack":"npm run build","dev:serve":"npm run build && npm run serve","postbuild":"cp dist/index.umd.js ../dashboard-ui/sdk.js","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"chaseleto","email":"cal20518@gmail.com"},"repository":{"url":"git+https://github.com/chaseleto/sessions.git","type":"git"},"_npmVersion":"10.9.2","description":"Privacy-conscious session recording SDK for self-hosted session tracking","directories":{},"_nodeVersion":"22.17.0","dependencies":{"rrweb":"^2.0.0-alpha.15","@chaseleto/sessions-sdk":"^1.0.10"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","tslib":"^2.6.0","eslint":"^8.0.0","rollup":"^3.0.0","ts-jest":"^29.0.0","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/react":"^18.0.0","@rollup/plugin-terser":"^0.4.4","jest-environment-jsdom":"^30.0.5","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.0.0","@typescript-eslint/parser":"^6.0.0","@rollup/plugin-node-resolve":"^15.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/sessions-sdk_1.0.12_1754324245637_0.8789392414014734","host":"s3://npm-registry-packages-npm-production"}},"1.0.13":{"name":"@chaseleto/sessions-sdk","version":"1.0.13","keywords":["session-recording","analytics","rrweb","privacy","self-hosted","session-replay","user-tracking","web-analytics"],"author":{"name":"Chase Leto"},"license":"MIT","_id":"@chaseleto/sessions-sdk@1.0.13","maintainers":[{"name":"chaseleto","email":"cal20518@gmail.com"}],"homepage":"https://github.com/chaseleto/sessions#readme","bugs":{"url":"https://github.com/chaseleto/sessions/issues"},"dist":{"shasum":"bcf6934470964ec7d4de89cb1748fc4880d94e7f","tarball":"https://registry.npmjs.org/@chaseleto/sessions-sdk/-/sessions-sdk-1.0.13.tgz","fileCount":26,"integrity":"sha512-F51BdeOF/WEVDMbFSAEHr6Jw6rvl3k+AHKbj8T502Zf86ZibwpFouBHx+N3j7/xS3lk6ikTucU8ckVy5ZwJMcQ==","signatures":[{"sig":"MEQCIGywfiJdI9k25CuHGwfRwQuojFzIEskIWDtT/1Z76I7lAiBIHgHwqV+TGWJyzpny/p+zWvGOgOJZWYO8a/5l2sjVFw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5533046},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","unpkg":"dist/index.umd.js","module":"dist/index.esm.js","engines":{"node":">=14.0.0"},"gitHead":"258619102b9ec949e55b3c468dcb76334036f681","private":false,"scripts":{"dev":"rollup -c -w","lint":"eslint src --ext .ts,.js","test":"jest","build":"rollup -c","serve":"npx http-server dist -p 8083 -c-1","prepack":"npm run build","dev:serve":"npm run build && npm run serve","postbuild":"cp dist/index.umd.js ../dashboard-ui/sdk.js","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"chaseleto","email":"cal20518@gmail.com"},"repository":{"url":"git+https://github.com/chaseleto/sessions.git","type":"git"},"_npmVersion":"10.9.2","description":"Privacy-conscious session recording SDK for self-hosted session tracking","directories":{},"_nodeVersion":"22.17.0","dependencies":{"rrweb":"^2.0.0-alpha.15","@chaseleto/sessions-sdk":"^1.0.10"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","tslib":"^2.6.0","eslint":"^8.0.0","rollup":"^3.0.0","ts-jest":"^29.0.0","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/react":"^18.0.0","@rollup/plugin-terser":"^0.4.4","jest-environment-jsdom":"^30.0.5","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.0.0","@typescript-eslint/parser":"^6.0.0","@rollup/plugin-node-resolve":"^15.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/sessions-sdk_1.0.13_1754324753844_0.30665459755361835","host":"s3://npm-registry-packages-npm-production"}},"1.0.14":{"name":"@chaseleto/sessions-sdk","version":"1.0.14","keywords":["session-recording","analytics","rrweb","privacy","self-hosted","session-replay","user-tracking","web-analytics"],"author":{"name":"Chase Leto"},"license":"MIT","_id":"@chaseleto/sessions-sdk@1.0.14","maintainers":[{"name":"chaseleto","email":"cal20518@gmail.com"}],"homepage":"https://github.com/chaseleto/sessions#readme","bugs":{"url":"https://github.com/chaseleto/sessions/issues"},"dist":{"shasum":"6e6195cbf1c67dab00ac2476e7eb558770467f77","tarball":"https://registry.npmjs.org/@chaseleto/sessions-sdk/-/sessions-sdk-1.0.14.tgz","fileCount":26,"integrity":"sha512-wXPKvDmR2MTKGgbUiNRQZPySh4ZB/za5owqMI/50iqT0gRyCb0vHpj7BzRJ7Q5opdkkPV1W71oa9QrH7pQ/HDg==","signatures":[{"sig":"MEUCIDjObco26v+f8mn2BvzA7keBtIDPJTfLbH9mQN4mrP6jAiEA3A4J/GG9T03cckKDSlnuaYlefhLLlDfnCh/KzXDrQMM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5534524},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","unpkg":"dist/index.umd.js","module":"dist/index.esm.js","engines":{"node":">=14.0.0"},"gitHead":"eaab2cc6b9cf84bd3bbf09717c0b1aa962f30182","private":false,"scripts":{"ci":"npm run test && npm run type-check && npm run build","dev":"rollup -c -w","lint":"eslint src --ext .ts,.js","test":"jest","build":"rollup -c","serve":"npx http-server dist -p 8083 -c-1","prepack":"npm run build","prebuild":"npm run test && npm run type-check","dev:serve":"npm run build && npm run serve","postbuild":"cp dist/index.umd.js ../dashboard-ui/sdk.js","test:watch":"jest --watch","type-check":"tsc --noEmit","test:coverage":"jest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"chaseleto","email":"cal20518@gmail.com"},"repository":{"url":"git+https://github.com/chaseleto/sessions.git","type":"git"},"_npmVersion":"10.9.2","description":"Privacy-conscious session recording SDK for self-hosted session tracking","directories":{},"_nodeVersion":"22.17.0","dependencies":{"rrweb":"^2.0.0-alpha.15","@chaseleto/sessions-sdk":"^1.0.10"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","tslib":"^2.6.0","eslint":"^8.0.0","rollup":"^3.0.0","ts-jest":"^29.0.0","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/react":"^18.0.0","@rollup/plugin-terser":"^0.4.4","jest-environment-jsdom":"^30.0.5","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.0.0","@typescript-eslint/parser":"^6.0.0","@rollup/plugin-node-resolve":"^15.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/sessions-sdk_1.0.14_1755690196185_0.46481046849927043","host":"s3://npm-registry-packages-npm-production"}},"1.0.15":{"name":"@chaseleto/sessions-sdk","version":"1.0.15","keywords":["session-recording","analytics","rrweb","privacy","self-hosted","session-replay","user-tracking","web-analytics"],"author":{"name":"Chase Leto"},"license":"MIT","_id":"@chaseleto/sessions-sdk@1.0.15","maintainers":[{"name":"chaseleto","email":"cal20518@gmail.com"}],"homepage":"https://github.com/chaseleto/sessions#readme","bugs":{"url":"https://github.com/chaseleto/sessions/issues"},"dist":{"shasum":"70b4c69d86d8744bb5b01a2058bd85898c644243","tarball":"https://registry.npmjs.org/@chaseleto/sessions-sdk/-/sessions-sdk-1.0.15.tgz","fileCount":28,"integrity":"sha512-0KAuXr7pxgbPjviEk52sT9XrGZqAwZDgEy5A3luubJwkNdI/cm3FTspp6tlVBRAtt3WCogWB1Tu3DWDjTc70+A==","signatures":[{"sig":"MEQCIFSzJ6rEpmTyfGFwR6Oh4z3YNgQ7DPSwC3NYzL3q8rzMAiBpHn6v/Ee4ES9PXIp3oIxt8J4GjZBfoPDBNDFbrQ+T4Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5624882},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","unpkg":"dist/index.umd.js","module":"dist/index.esm.js","engines":{"node":">=14.0.0"},"gitHead":"fa3bd5af442934a8ee4e6196131d75d3a3d96846","private":false,"scripts":{"ci":"npm run test && npm run type-check && npm run build","dev":"rollup -c -w","lint":"eslint src --ext .ts,.js","test":"jest","build":"rollup -c","serve":"npx http-server dist -p 8083 -c-1","prepack":"npm run build","prebuild":"npm run test && npm run type-check","dev:serve":"npm run build && npm run serve","postbuild":"cp dist/index.umd.js ../dashboard-ui/sdk.js 2>/dev/null || true","test:watch":"jest --watch","type-check":"tsc --noEmit","test:coverage":"jest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"chaseleto","email":"cal20518@gmail.com"},"repository":{"url":"git+https://github.com/chaseleto/sessions.git","type":"git"},"_npmVersion":"10.9.4","description":"Privacy-conscious session recording SDK for self-hosted session tracking","directories":{},"_nodeVersion":"22.22.0","dependencies":{"rrweb":"^2.0.0-alpha.15"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","tslib":"^2.6.0","eslint":"^8.0.0","rollup":"^3.0.0","ts-jest":"^29.0.0","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/react":"^18.0.0","@rollup/plugin-terser":"^0.4.4","jest-environment-jsdom":"^30.0.5","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.0.0","@typescript-eslint/parser":"^6.0.0","@rollup/plugin-node-resolve":"^15.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/sessions-sdk_1.0.15_1773014427307_0.5251570629206821","host":"s3://npm-registry-packages-npm-production"}},"1.0.18":{"name":"@chaseleto/sessions-sdk","version":"1.0.18","private":false,"type":"module","description":"Privacy-conscious session recording SDK for self-hosted session tracking","main":"dist/index.js","module":"dist/index.esm.js","unpkg":"dist/index.umd.js","types":"dist/index.d.ts","scripts":{"build":"rollup -c","postbuild":"cp dist/index.umd.js ../dashboard-ui/sdk.js 2>/dev/null || true","dev":"rollup -c -w","serve":"npx http-server dist -p 8083 -c-1","dev:serve":"npm run build && npm run serve","test":"jest","test:watch":"jest --watch","test:coverage":"jest --coverage","lint":"eslint src --ext .ts,.js","type-check":"tsc --noEmit","prebuild":"npm run test && npm run type-check","prepublishOnly":"npm run build","prepack":"npm run build","ci":"npm run test && npm run type-check && npm run build"},"keywords":["session-recording","analytics","rrweb","privacy","self-hosted","session-replay","user-tracking","web-analytics"],"author":{"name":"Chase Leto"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/chaseleto/sessions.git"},"bugs":{"url":"https://github.com/chaseleto/sessions/issues"},"homepage":"https://github.com/chaseleto/sessions#readme","dependencies":{"rrweb":"^2.0.0-alpha.15"},"peerDependencies":{"react":">=16.8.0"},"devDependencies":{"@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-node-resolve":"^15.0.0","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-typescript":"^11.0.0","@types/jest":"^29.0.0","@types/react":"^18.0.0","@typescript-eslint/eslint-plugin":"^6.0.0","@typescript-eslint/parser":"^6.0.0","eslint":"^8.0.0","jest":"^29.0.0","jest-environment-jsdom":"^30.0.5","rollup":"^3.0.0","ts-jest":"^29.0.0","tslib":"^2.6.0","typescript":"^5.0.0"},"engines":{"node":">=14.0.0"},"publishConfig":{"access":"public"},"_id":"@chaseleto/sessions-sdk@1.0.18","gitHead":"26c87ec943b3fb7c943cfc9ab3db432bc015a2d1","_nodeVersion":"22.22.0","_npmVersion":"10.9.4","dist":{"integrity":"sha512-uG9zwP7VagnnTxgi1YOX0Z6tIuq39Dzzr/i96wYWFeo/sugr2UVCOulwLuUtEu8sEUmdIDiL9GZuQkwA7ua9Qg==","shasum":"8b728f6f479da32405d3a30f9bbf75b198cdb03b","tarball":"https://registry.npmjs.org/@chaseleto/sessions-sdk/-/sessions-sdk-1.0.18.tgz","fileCount":30,"unpackedSize":5883781,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIBtbEH9XJjhnlIzpE4V2YD9MgmuwGjM4VbQAB77cXysLAiAnpyAOAk3rcfhk70bda+iUBZH7fN7Fr+gs4RlkwwLgVw=="}]},"_npmUser":{"name":"chaseleto","email":"cal20518@gmail.com"},"directories":{},"maintainers":[{"name":"chaseleto","email":"cal20518@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/sessions-sdk_1.0.18_1778362346580_0.6719469067966988"},"_hasShrinkwrap":false}},"time":{"created":"2025-07-23T14:41:53.167Z","modified":"2026-05-09T21:32:26.958Z","1.0.0":"2025-07-23T14:41:53.497Z","1.0.1":"2025-07-23T15:01:46.606Z","1.0.2":"2025-07-23T15:12:20.812Z","1.0.3":"2025-07-24T16:51:04.638Z","1.0.4":"2025-07-24T17:00:52.495Z","1.0.5":"2025-07-24T17:17:23.685Z","1.0.6":"2025-07-24T17:26:27.744Z","1.0.7":"2025-07-24T17:27:39.110Z","1.0.8":"2025-07-24T17:36:18.915Z","1.0.9":"2025-07-24T17:40:54.178Z","1.0.10":"2025-07-26T17:11:33.093Z","1.0.11":"2025-07-26T17:26:13.218Z","1.0.12":"2025-08-04T16:17:25.862Z","1.0.13":"2025-08-04T16:25:54.156Z","1.0.14":"2025-08-20T11:43:16.397Z","1.0.15":"2026-03-09T00:00:27.522Z","1.0.18":"2026-05-09T21:32:26.827Z"},"bugs":{"url":"https://github.com/chaseleto/sessions/issues"},"author":{"name":"Chase Leto"},"license":"MIT","homepage":"https://github.com/chaseleto/sessions#readme","keywords":["session-recording","analytics","rrweb","privacy","self-hosted","session-replay","user-tracking","web-analytics"],"repository":{"type":"git","url":"git+https://github.com/chaseleto/sessions.git"},"description":"Privacy-conscious session recording SDK for self-hosted session tracking","maintainers":[{"name":"chaseleto","email":"cal20518@gmail.com"}],"readme":"# Session SDK\n\nA privacy-conscious, self-hosted session recording SDK for capturing user sessions with essential metadata, network requests, console logs, and session replays.\n\n## Features\n\n- 🎥 **Session Recording**: Full session replay using rrweb\n- 📝 **Console Logging**: Capture console.log, warn, error, info, debug\n- 🌐 **Network Monitoring**: Track fetch and XHR requests\n- 🔒 **Privacy First**: All input fields masked by default, respects Do Not Track\n- 📊 **Sampling**: Configurable sampling rates\n- 🚀 **Lightweight**: Minimal bundle size with tree-shaking\n- 🔄 **Reliable Upload**: Retry queue with exponential backoff\n- 📱 **Cross-Platform**: Works in all modern browsers\n\n## Installation\n\n### NPM\n\n```bash\nnpm install @chaseleto/sessions-sdk\n```\n\n### CDN\n\n```html\n<script src=\"https://cdn.jsdelivr.net/npm/@chaseleto/sessions-sdk/dist/index.umd.js\"></script>\n```\n\nThe UMD bundle exposes a global `SessionSDK` object — see _CDN Usage_ below.\n\n## Development\n\n### Prerequisites\n\n- Node.js 16+ \n- npm or yarn\n\n### Setup\n\n```bash\n# Install dependencies\nnpm install\n\n# Run tests\nnpm test\n\n# Run tests with coverage\nnpm run test:coverage\n\n# Run tests in watch mode\nnpm run test:watch\n\n# Type checking\nnpm run type-check\n\n# Build (includes tests and type checking)\nnpm run build\n\n# Full CI process (tests + type check + build)\nnpm run ci\n```\n\n### Build Process\n\nThe build process automatically runs:\n1. **Tests** - Ensures all functionality works correctly\n2. **Type checking** - Validates TypeScript types\n3. **Build** - Creates distribution files\n\nThis ensures that any published version has passed all quality checks.\n\n## Quick Start\n\n### Basic Usage\n\n```javascript\nimport { init } from '@chaseleto/sessions-sdk';\n\n// Initialize with your API key\ninit('your-api-key-here', {\n  projectId: 'your-project-id',\n  userId: 'user-123',\n  attributes: {\n    plan: 'premium',\n    environment: 'production'\n  }\n});\n```\n\n### Vite + React\n\n```tsx\n// src/main.tsx\nimport React from 'react';\nimport ReactDOM from 'react-dom/client';\nimport { initSessionRecording } from '@chaseleto/sessions-sdk';\nimport App from './App';\n\ninitSessionRecording('your-api-key-here', {\n  projectId: 'your-project-id',\n});\n\nReactDOM.createRoot(document.getElementById('root')!).render(<App />);\n```\n\n### SvelteKit\n\n```svelte\n<!-- src/routes/+layout.svelte -->\n<script lang=\"ts\">\n  import { onMount } from 'svelte';\n  import { initSessionRecording } from '@chaseleto/sessions-sdk';\n\n  onMount(() => {\n    initSessionRecording('your-api-key-here', {\n      projectId: 'your-project-id',\n    });\n  });\n</script>\n\n<slot />\n```\n\n### Astro\n\n```astro\n---\n// src/layouts/Base.astro\n---\n<html>\n  <body>\n    <slot />\n    <script>\n      import { initSessionRecording } from '@chaseleto/sessions-sdk';\n      initSessionRecording('your-api-key-here', {\n        projectId: 'your-project-id',\n      });\n    </script>\n  </body>\n</html>\n```\n\n### Next.js Usage (Recommended - Like HyperDX)\n\n```tsx\n// pages/_app.tsx or app/layout.tsx\nimport { initSessionRecording } from '@chaseleto/sessions-sdk';\n\n// Initialize session recording (runs once on app load)\ninitSessionRecording(process.env.NEXT_PUBLIC_SESSION_API_KEY!, {\n  projectId: 'my-nextjs-app',\n  userId: 'user-123',\n  attributes: {\n    environment: process.env.NODE_ENV,\n    framework: 'nextjs',\n  },\n});\n\nexport default function App({ Component, pageProps }) {\n  return <Component {...pageProps} />;\n}\n```\n\n### Next.js with React Hooks (Alternative)\n\n```tsx\n// pages/_app.tsx or app/layout.tsx\nimport { useSessionRecording } from '@chaseleto/sessions-sdk';\n\nexport default function App({ Component, pageProps }) {\n  const { sessionId, isActive } = useSessionRecording(\n    process.env.NEXT_PUBLIC_SESSION_API_KEY!,\n    {\n      projectId: 'my-nextjs-app',\n      userId: 'user-123',\n      attributes: {\n        environment: process.env.NODE_ENV,\n        framework: 'nextjs',\n      },\n    }\n  );\n\n  return <Component {...pageProps} />;\n}\n```\n\n### CDN Usage\n\n```html\n<!-- Drop into your <head> -->\n<script src=\"https://cdn.jsdelivr.net/npm/@chaseleto/sessions-sdk/dist/index.umd.js\"></script>\n<script>\n  // Initialize with your API key\n  SessionSDK.init('your-api-key-here', {\n    projectId: 'your-project-id'\n  });\n</script>\n```\n\n> The UMD bundle only exposes the core API (`SessionSDK.init`, `getInstance`, `destroy`, `setAttributes`, `setUserId`, `getSessionId`, `isActive`). Use the npm package for the React/Next.js helpers (`initSessionRecording`, `useSessionRecording`, etc).\n\n## Configuration Options\n\n| Option | Type | Default | Description |\n|--------|------|---------|-------------|\n| `endpoint` | string | `'https://api.sessions.chxse.dev/api/v1/sessions'` | API endpoint for sending session data |\n| `projectId` | string | `''` | Project ID for the session |\n| `userId` | string | `''` | User ID to associate with sessions |\n| `attributes` | object | `{}` | Custom attributes to attach to all sessions |\n| `captureConsole` | boolean | `true` | Whether to capture console logs |\n| `captureNetwork` | boolean | `true` | Whether to capture network requests |\n| `samplingRate` | number | `1.0` | Sampling rate (0-1) for session recording |\n| `maxSessionDuration` | number | `1800000` | Maximum session duration in milliseconds (30 min) |\n| `uploadInterval` | number | `10000` | Upload interval in milliseconds (10 sec) |\n| `respectDNT` | boolean | `true` | Whether to respect Do Not Track headers |\n| `headers` | object | `{}` | Custom headers to include in requests |\n| `maskAllInputs` | boolean | `true` | Whether to mask all input fields in session replay |\n\n## API Reference\n\n### Core Functions\n\n#### `init(apiKey, options?)`\n\nInitialize the session SDK.\n\n```javascript\nconst sdk = init('your-api-key', {\n  endpoint: 'https://your-backend.com/sessions',\n  projectId: 'project-123'\n});\n```\n\n### Next.js Integration\n\nThe SDK includes Next.js-specific utilities for easy integration:\n\n#### `useSessionRecording(apiKey, options?)`\n\nReact hook for Next.js applications:\n\n```tsx\nimport { useSessionRecording } from '@chaseleto/sessions-sdk';\n\nfunction MyComponent() {\n  const { sessionId, isActive, setUserId, setAttributes } = useSessionRecording(\n    'your-api-key',\n    {\n      projectId: 'my-app',\n      userId: 'user-123',\n      enabled: process.env.NODE_ENV === 'production',\n    }\n  );\n\n  return <div>Session ID: {sessionId}</div>;\n}\n```\n\n#### `SessionRecorder` Component\n\nInvisible component for easy integration:\n\n```tsx\nimport { SessionRecorder } from '@chaseleto/sessions-sdk';\n\nexport default function App({ Component, pageProps }) {\n  return (\n    <>\n      <SessionRecorder\n        apiKey={process.env.NEXT_PUBLIC_SESSION_API_KEY!}\n        projectId=\"my-app\"\n        userId=\"user-123\"\n      />\n      <Component {...pageProps} />\n    </>\n  );\n}\n```\n\n#### `withSessionRecording(Component, apiKey, options?)`\n\nHOC for wrapping components:\n\n```tsx\nimport { withSessionRecording } from '@chaseleto/sessions-sdk';\n\nconst MyComponent = () => <div>My App</div>;\n\nexport default withSessionRecording(MyComponent, 'your-api-key', {\n  projectId: 'my-app',\n});\n```\n\n#### `destroy()`\n\nStop recording and destroy the SDK instance.\n\n```javascript\ndestroy();\n```\n\n#### `setAttributes(attributes)`\n\nAdd custom attributes to the current session.\n\n```javascript\nsetAttributes({\n  plan: 'premium',\n  userType: 'admin',\n  page: 'checkout'\n});\n```\n\n#### `setUserId(userId)`\n\nSet the user ID for the current session.\n\n```javascript\nsetUserId('user-123');\n```\n\n#### `getSessionId()`\n\nGet the current session ID.\n\n```javascript\nconst sessionId = getSessionId();\nconsole.log('Current session:', sessionId);\n```\n\n#### `isActive()`\n\nCheck if recording is currently active.\n\n```javascript\nif (isActive()) {\n  console.log('Session recording is active');\n}\n```\n\n### Advanced Usage\n\n#### Using the SessionSDK Class\n\nFor more control, you can use the SessionSDK class directly:\n\n```javascript\nimport { SessionSDK } from '@chaseleto/sessions-sdk';\n\nconst sdk = new SessionSDK('your-api-key', {\n  endpoint: 'https://your-backend.com/sessions',\n  projectId: 'project-123'\n});\n\n// Start recording\nsdk.init();\n\n// Add attributes\nsdk.setAttributes({ plan: 'premium' });\n\n// Stop recording\nsdk.stop();\n\n// Destroy instance\nsdk.destroy();\n```\n\n## Data Structure\n\nThe SDK sends session data in the following format:\n\n```typescript\ninterface SessionData {\n  sessionId: string;\n  projectId: string;\n  userId?: string;\n  attributes: Record<string, any>;\n  metadata: {\n    userAgent: string;\n    url: string;\n    referrer: string;\n    viewport: { width: number; height: number };\n    timestamp: number;\n    timezone: string;\n    language: string;\n  };\n  events: Array<{\n    type: 'rrweb';\n    data: any;\n    timestamp: number;\n  }>;\n  consoleLogs: Array<{\n    level: 'log' | 'warn' | 'error' | 'info' | 'debug';\n    message: string;\n    args: any[];\n    timestamp: number;\n    stack?: string;\n  }>;\n  networkRequests: Array<{\n    method: string;\n    url: string;\n    status?: number;\n    statusText?: string;\n    requestHeaders?: Record<string, string>;\n    responseHeaders?: Record<string, string>;\n    requestBody?: any;\n    responseBody?: any;\n    duration: number;\n    timestamp: number;\n    error?: string;\n  }>;\n  timestamp: number;\n  duration: number;\n}\n```\n\n## Privacy & Compliance\n\n### What Data Is Captured\n\nThe SDK uses [rrweb](https://github.com/rrweb-io/rrweb) to record DOM mutations, mouse movements, clicks, scrolling, and page content for session replay. This means **the visible content of your pages is captured**, including text rendered on screen.\n\nBy default, **all input field values are masked** (`maskAllInputs: true`). This prevents the SDK from recording text typed into form fields such as email addresses, phone numbers, credit card numbers, and other user input. Password fields are always masked regardless of configuration.\n\nIf you set `maskAllInputs: false`, the SDK will capture the actual values of all non-password input fields. This includes any personally identifiable information (PII) users type into forms. Only use this setting if your forms do not collect sensitive data, or if you have appropriate data processing agreements in place.\n\n### Privacy Configuration\n\n```javascript\ninit('your-api-key', {\n  // Mask all input fields (default: true)\n  maskAllInputs: true,\n\n  // Respect Do Not Track browser setting (default: true)\n  respectDNT: true,\n\n  // Disable console log capture\n  captureConsole: false,\n\n  // Disable network request capture\n  captureNetwork: false,\n});\n```\n\n### Do Not Track\n\nThe SDK respects the Do Not Track (DNT) header by default. When DNT is enabled, no session data is recorded.\n\n### Data Minimization\n\n- All input field values are masked by default to prevent PII capture\n- Password fields are always masked regardless of configuration\n- Console logs and network requests are truncated to prevent data bloat\n- Session data is automatically cleaned up after upload\n- Sensitive HTTP headers (Authorization, Cookie, API keys) are redacted from network captures\n\n## Data Size Limits & Memory Management\n\nThe SDK implements comprehensive size limits to prevent memory issues and ensure reliable uploads:\n\n### Individual Item Limits\n\n| Item Type | Size Limit | Description |\n|-----------|------------|-------------|\n| Console Logs | 5KB per log | Large console objects are truncated |\n| Network Requests | 10KB per request | Large request/response data is limited |\n| Request Bodies | 1KB | Request payloads are truncated |\n| Console Arguments | 1KB per argument | Large objects in console calls are limited |\n\n### Total Collection Limits\n\n| Data Type | Maximum Items | Server Validation |\n|-----------|---------------|-------------------|\n| Events (rrweb) | 10,000 | 10,000 |\n| Console Logs | 1,000 | 1,000 |\n| Network Requests | 1,000 | 1,000 |\n\n### Memory Management Features\n\n- **Preventive Filtering**: Items that would exceed size limits are skipped entirely\n- **Frequent Cleanup**: Data is cleaned up every 5 seconds to prevent accumulation\n- **Progressive Truncation**: If upload data is too large, items are progressively reduced\n- **Automatic Cleanup**: Old data is automatically removed after successful uploads\n- **Size Validation**: Data is validated before upload to prevent server rejections\n\n### Upload Limits\n\n- **Client-side limit**: 25MB per upload\n- **Server-side limit**: 50MB per upload\n- **Automatic retry**: Failed uploads are retried with exponential backoff\n- **Graceful degradation**: If data is still too large after truncation, upload is skipped\n\n### Best Practices\n\n1. **Avoid large objects in console logs**: The SDK will truncate them, but it's better to log smaller, focused data\n2. **Monitor network requests**: Large API responses will be limited to metadata only\n3. **Use sampling for high-traffic sites**: Reduce the sampling rate to limit data collection\n4. **Set appropriate session durations**: Long sessions accumulate more data\n\n### GDPR Compliance\n\n- All form input values are masked by default to minimize PII collection\n- DOM content visible on screen (text, labels, etc.) is still captured for replay\n- Users can opt-out via Do Not Track browser headers\n- Session data can be deleted by session ID\n- Review your pages to ensure no sensitive data appears in non-input page content\n\n## Browser Support\n\n- Chrome 60+\n- Firefox 55+\n- Safari 12+\n- Edge 79+\n\n## Development\n\n### Building\n\n```bash\nnpm install\nnpm run build\n```\n\n### Development Mode\n\n```bash\nnpm run dev\n```\n\n### Testing\n\n```bash\nnpm test\n```\n\n## License\n\nMIT License - see LICENSE file for details. ","readmeFilename":"README.md"}