{"_id":"writetrack","_rev":"29-d1cbe12c3ea70f6addde32812403fa87","name":"writetrack","dist-tags":{"latest":"0.17.0"},"versions":{"0.1.0":{"name":"writetrack","version":"0.1.0","keywords":["keystroke","biometrics","authenticity-validation","human-verification","typing-analysis","behavioral-analysis","security"],"author":"","license":"SEE LICENSE IN LICENSE","_id":"writetrack@0.1.0","maintainers":[{"name":"ammil.industries","email":"admin@ammil.industries"}],"bin":{"writetrack":"cli/init.js"},"dist":{"shasum":"61290500180858160dd9f8f22fd215eca4f8880b","tarball":"https://registry.npmjs.org/writetrack/-/writetrack-0.1.0.tgz","fileCount":12,"integrity":"sha512-ease1R5HDhwR8s+3Sc6i0eZmb8dJCcbpQQRfZyUlipFqUcDmE2jfOZdwbnDb0IyS+B6VOruojpHmVkvxj8QatA==","signatures":[{"sig":"MEYCIQC7A0o1n81Q+B4Gx33jlqvN1QITm/zpTrxMCkhZ96n+WwIhALmb3F9eQZZqtPgBt8AuX4h1POwytRLNX/l5iCnH18Ev","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":144605},"main":"dist/index.cjs","type":"module","types":"dist/esm/index.d.ts","module":"dist/esm/index.js","browser":"dist/browser/index.js","exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","browser":"./dist/browser/index.js","require":"./dist/index.cjs"},"./vue":{"types":"./dist/vue/index.d.ts","import":"./dist/vue/index.js"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js"},"./browser":{"types":"./dist/esm/index.d.ts","import":"./dist/browser/index.js"}},"gitHead":"d02cd4545025d225266e304d439807ee32cdf4af","private":false,"scripts":{"prepare":"husky","postpublish":"rm -rf ./package"},"_npmUser":{"name":"ammil.industries","email":"admin@ammil.industries"},"_npmVersion":"10.9.3","description":"Lightweight keystroke telemetry capture for web applications","directories":{},"sideEffects":false,"_nodeVersion":"22.18.0","publishConfig":{"directory":"package"},"_hasShrinkwrap":false,"peerDependencies":{"vue":">=3.0.0","react":">=17.0.0"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/writetrack_0.1.0_1770427157731_0.631554791707251","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"writetrack","version":"0.2.1","keywords":["keystroke","biometrics","authenticity-validation","human-verification","typing-analysis","behavioral-analysis","security"],"author":"","license":"SEE LICENSE IN LICENSE","_id":"writetrack@0.2.1","maintainers":[{"name":"ammil.industries","email":"admin@ammil.industries"}],"bin":{"writetrack":"cli/init.js"},"dist":{"shasum":"37107ad4423b9b713b0ae9aacbfc57c9e123648b","tarball":"https://registry.npmjs.org/writetrack/-/writetrack-0.2.1.tgz","fileCount":12,"integrity":"sha512-5D0ZuTKmkyoYRrCh463mQke1fTmsA9/f66CAf1WjEpQQs0InAMQqJjuj6b3IB3Xw9p4MILido53RlPsbqkSUPA==","signatures":[{"sig":"MEQCIF5PhpwR6NiwuWUrvN/qkoQgrTUORvURjyv2zuv7hwPbAiAE+75sKm0VO0ZLwd+AvJ6tEJlEsRSViRW1gDWqAP2WHw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":127773},"main":"dist/index.cjs","type":"module","types":"dist/esm/index.d.ts","module":"dist/esm/index.js","browser":"dist/browser/index.js","exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","browser":"./dist/browser/index.js","require":"./dist/index.cjs"},"./vue":{"types":"./dist/vue/index.d.ts","import":"./dist/vue/index.js"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js"},"./browser":{"types":"./dist/esm/index.d.ts","import":"./dist/browser/index.js"}},"gitHead":"0fafc44483f1d075dd153974abc0f48ecd0d38fb","private":false,"scripts":{"prepare":"husky","postpublish":"rm -rf ./package"},"_npmUser":{"name":"ammil.industries","email":"admin@ammil.industries"},"_npmVersion":"10.9.3","description":"Lightweight keystroke telemetry capture for web applications","directories":{},"sideEffects":false,"_nodeVersion":"22.18.0","publishConfig":{"directory":"package"},"_hasShrinkwrap":false,"peerDependencies":{"vue":">=3.0.0","react":">=17.0.0"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/writetrack_0.2.1_1770434076298_0.09226073655971279","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"writetrack","version":"0.3.0","keywords":["keystroke","biometrics","authenticity-validation","human-verification","typing-analysis","behavioral-analysis","security"],"author":"","license":"SEE LICENSE IN LICENSE","_id":"writetrack@0.3.0","maintainers":[{"name":"ammil.industries","email":"admin@ammil.industries"}],"bin":{"writetrack":"cli/init.js"},"dist":{"shasum":"10d654447f006afbaf858d87ddc836759521abfa","tarball":"https://registry.npmjs.org/writetrack/-/writetrack-0.3.0.tgz","fileCount":16,"integrity":"sha512-8wixTeRJpWgFab/EG2Rul5E7y4PGjEp8RelOWISx67t3dCQkHtRLkXQ2oYir8zH7ytdGc5SbQ7PjL57hPf+8FA==","signatures":[{"sig":"MEUCIQCBVrG5thnB4C0vMUPZxI14YUqbruucC3I1kRCqNL7fSAIga3QjQwvb1KDmbpXRzR3pMEpSrmOFQ0iHirkHBCzvSAQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":142989},"main":"dist/index.cjs","type":"module","types":"dist/esm/index.d.ts","module":"dist/esm/index.js","browser":"dist/browser/index.js","exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","browser":"./dist/browser/index.js","require":"./dist/index.cjs"},"./vue":{"types":"./dist/vue/index.d.ts","import":"./dist/vue/index.js"},"./pipes":{"types":"./dist/esm/pipes.d.ts","import":"./dist/esm/pipes.js","browser":"./dist/browser/pipes.js","require":"./dist/pipes.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js"},"./browser":{"types":"./dist/esm/index.d.ts","import":"./dist/browser/index.js"}},"gitHead":"60c852ac3f785a325ecc76d8c0ca5766fd7dcd67","private":false,"scripts":{"prepare":"husky","postpublish":"rm -rf ./package"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d2305f26-0af9-47cd-89e4-388627c99a35"}},"_npmVersion":"11.10.0","description":"Lightweight keystroke telemetry capture for web applications","directories":{},"sideEffects":false,"_nodeVersion":"22.22.0","publishConfig":{"directory":"package"},"_hasShrinkwrap":false,"peerDependencies":{"vue":">=3.0.0","react":">=17.0.0"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/writetrack_0.3.0_1771031728310_0.5144764213176847","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"writetrack","version":"0.3.1","keywords":["keystroke","biometrics","authenticity-validation","human-verification","typing-analysis","behavioral-analysis","security"],"author":"","license":"SEE LICENSE IN LICENSE","_id":"writetrack@0.3.1","maintainers":[{"name":"ammil.industries","email":"admin@ammil.industries"}],"bin":{"writetrack":"cli/init.js"},"dist":{"shasum":"caebd7c83c77b149bdde1a73ddb3edcaa5f047bf","tarball":"https://registry.npmjs.org/writetrack/-/writetrack-0.3.1.tgz","fileCount":16,"integrity":"sha512-4BTAzVr/Adya6wx/jf3S24K7gtS63IG9QsrfUYTojYl10nr9Cnun8pdehIK+jloEhMQBpGwr76i8hwcVlSu4xw==","signatures":[{"sig":"MEUCIQCXczo0ITB1VcSNcYzM1Fz6FFIbfINEdePzVBggfyRdPAIgSnXtO8+i6ho0/pdtyQpzxE3C64szvecIpPQJcJ3oBe4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":142798},"main":"dist/index.cjs","type":"module","types":"dist/esm/index.d.ts","module":"dist/esm/index.js","browser":"dist/browser/index.js","exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","browser":"./dist/browser/index.js","require":"./dist/index.cjs"},"./vue":{"types":"./dist/vue/index.d.ts","import":"./dist/vue/index.js"},"./pipes":{"types":"./dist/esm/pipes.d.ts","import":"./dist/esm/pipes.js","browser":"./dist/browser/pipes.js","require":"./dist/pipes.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js"},"./browser":{"types":"./dist/esm/index.d.ts","import":"./dist/browser/index.js"}},"gitHead":"f5dde5ccd30f6f92122612937c6ebd06ef4729a7","private":false,"scripts":{"prepare":"husky","postpublish":"rm -rf ./package"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d2305f26-0af9-47cd-89e4-388627c99a35"}},"_npmVersion":"11.10.0","description":"Lightweight keystroke telemetry capture for web applications","directories":{},"sideEffects":false,"_nodeVersion":"22.22.0","publishConfig":{"directory":"package"},"_hasShrinkwrap":false,"peerDependencies":{"vue":">=3.0.0","react":">=17.0.0"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/writetrack_0.3.1_1771032339880_0.8640920105271508","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"writetrack","version":"0.4.0","keywords":["keystroke","biometrics","authenticity-validation","human-verification","typing-analysis","behavioral-analysis","security"],"author":"","license":"SEE LICENSE IN LICENSE","_id":"writetrack@0.4.0","maintainers":[{"name":"ammil.industries","email":"admin@ammil.industries"}],"bin":{"writetrack":"cli/init.js"},"dist":{"shasum":"1ce7cfd0408f041973a1678a7b8e6498955bfc19","tarball":"https://registry.npmjs.org/writetrack/-/writetrack-0.4.0.tgz","fileCount":24,"integrity":"sha512-dskbkmpDYMTcOKgAc7kx/pxxHf2LU4z9vh/N3JGDEQf4JNQbGJgTf3tRVqho9/UV3mNjhEKDQkX2eeWwLOMBXA==","signatures":[{"sig":"MEQCIFX64CD7g2VCZ63rnn+0aQ68JbTp7DTdciZJpCxYtKKZAiAKXpnslvEceLSmMgcWCiPUJPvM8mEc47tL8LudzXOspg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":151280},"main":"dist/index.cjs","type":"module","types":"dist/esm/index.d.ts","module":"dist/esm/index.js","browser":"dist/browser/index.js","exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","browser":"./dist/browser/index.js","require":"./dist/index.cjs"},"./vue":{"types":"./dist/vue/index.d.ts","import":"./dist/vue/index.js"},"./pipes":{"types":"./dist/esm/pipes.d.ts","import":"./dist/esm/pipes.js","browser":"./dist/browser/pipes.js","require":"./dist/pipes.cjs"},"./quill":{"types":"./dist/quill/index.d.ts","import":"./dist/quill/index.js"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js"},"./tiptap":{"types":"./dist/tiptap/index.d.ts","import":"./dist/tiptap/index.js"},"./browser":{"types":"./dist/esm/index.d.ts","import":"./dist/browser/index.js"},"./ckeditor":{"types":"./dist/ckeditor/index.d.ts","import":"./dist/ckeditor/index.js"},"./prosemirror":{"types":"./dist/prosemirror/index.d.ts","import":"./dist/prosemirror/index.js"}},"gitHead":"7c741ab77252a6be26296ae7591401708a060865","private":false,"scripts":{"prepare":"husky","postpublish":"rm -rf ./package"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d2305f26-0af9-47cd-89e4-388627c99a35"}},"_npmVersion":"11.10.0","description":"Lightweight keystroke telemetry capture for web applications","directories":{},"sideEffects":false,"_nodeVersion":"22.22.0","publishConfig":{"directory":"package"},"_hasShrinkwrap":false,"peerDependencies":{"vue":">=3.0.0","quill":">=2.0.0","react":">=17.0.0","ckeditor5":">=42.0.0","@tiptap/core":">=2.0.0","prosemirror-view":">=1.0.0","prosemirror-state":">=1.0.0"},"peerDependenciesMeta":{"vue":{"optional":true},"quill":{"optional":true},"react":{"optional":true},"ckeditor5":{"optional":true},"@tiptap/core":{"optional":true},"prosemirror-view":{"optional":true},"prosemirror-state":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/writetrack_0.4.0_1771221092877_0.21185481567182518","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"writetrack","version":"0.4.1","keywords":["keystroke","biometrics","authenticity-validation","human-verification","typing-analysis","behavioral-analysis","security"],"author":"","license":"SEE LICENSE IN LICENSE","_id":"writetrack@0.4.1","maintainers":[{"name":"ammil.industries","email":"admin@ammil.industries"}],"bin":{"writetrack":"cli/init.js"},"dist":{"shasum":"42f239f810519b88af9feef02097a91349d54816","tarball":"https://registry.npmjs.org/writetrack/-/writetrack-0.4.1.tgz","fileCount":24,"integrity":"sha512-GeJ5tAS/+T2n2oKPxROCB5wcEpmK9l4LLigPE9zfjZDdu4tmUum8DcAfTXYj/SpIo4xpomNvcfk7Y1SGHhNH9g==","signatures":[{"sig":"MEUCICEvYY2CUND37GW+Edwta5xKP6z3OVhpjR66ifRuZY3xAiEA9DQHr7orVBrJLcG2FkUJBarfT/6FBX2XZOdsytJoiTs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":151297},"main":"dist/index.cjs","type":"module","types":"dist/esm/index.d.ts","module":"dist/esm/index.js","browser":"dist/browser/index.js","exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","browser":"./dist/browser/index.js","require":"./dist/index.cjs"},"./vue":{"types":"./dist/vue/index.d.ts","import":"./dist/vue/index.js"},"./pipes":{"types":"./dist/esm/pipes.d.ts","import":"./dist/esm/pipes.js","browser":"./dist/browser/pipes.js","require":"./dist/pipes.cjs"},"./quill":{"types":"./dist/quill/index.d.ts","import":"./dist/quill/index.js"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js"},"./tiptap":{"types":"./dist/tiptap/index.d.ts","import":"./dist/tiptap/index.js"},"./browser":{"types":"./dist/esm/index.d.ts","import":"./dist/browser/index.js"},"./ckeditor":{"types":"./dist/ckeditor/index.d.ts","import":"./dist/ckeditor/index.js"},"./prosemirror":{"types":"./dist/prosemirror/index.d.ts","import":"./dist/prosemirror/index.js"}},"gitHead":"7e0fd0bd06061f36980f9e6c8eeb739b592125c4","private":false,"scripts":{"prepare":"husky","postpublish":"rm -rf ./package"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d2305f26-0af9-47cd-89e4-388627c99a35"}},"_npmVersion":"11.10.0","description":"Lightweight keystroke telemetry capture for web applications","directories":{},"sideEffects":false,"_nodeVersion":"22.22.0","publishConfig":{"directory":"package"},"_hasShrinkwrap":false,"peerDependencies":{"vue":">=3.0.0","quill":">=2.0.0","react":">=17.0.0","ckeditor5":">=42.0.0","@tiptap/core":">=2.0.0","prosemirror-view":">=1.0.0","prosemirror-state":">=1.0.0"},"peerDependenciesMeta":{"vue":{"optional":true},"quill":{"optional":true},"react":{"optional":true},"ckeditor5":{"optional":true},"@tiptap/core":{"optional":true},"prosemirror-view":{"optional":true},"prosemirror-state":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/writetrack_0.4.1_1771222959016_0.30861608930135054","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"writetrack","version":"0.4.2","keywords":["keystroke","biometrics","authenticity-validation","human-verification","typing-analysis","behavioral-analysis","security"],"author":"","license":"SEE LICENSE IN LICENSE","_id":"writetrack@0.4.2","maintainers":[{"name":"ammil.industries","email":"admin@ammil.industries"}],"bin":{"writetrack":"cli/init.js"},"dist":{"shasum":"dc5e498a6af85440f6477cb352b564cb9b28cd94","tarball":"https://registry.npmjs.org/writetrack/-/writetrack-0.4.2.tgz","fileCount":24,"integrity":"sha512-T54GG8LnPfn45giAC4d0wUfWsOv3R2dJ7xmQAV+gDYsQZ/lreEkAQXuQLl/78ZhW4VcuOui5/Tl15sHRDqWB0w==","signatures":[{"sig":"MEUCIBV4jM9Vqd9ndm5TOu/3lnuzkKccQAoa+fGMO30Zk+xGAiEA3m+0lgABN83qn144QbcQtN4jyTph1Ql2BJBiyv4ZvFw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":158296},"main":"dist/index.cjs","type":"module","types":"dist/esm/index.d.ts","module":"dist/esm/index.js","browser":"dist/browser/index.js","exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","browser":"./dist/browser/index.js","require":"./dist/index.cjs"},"./vue":{"types":"./dist/vue/index.d.ts","import":"./dist/vue/index.js"},"./pipes":{"types":"./dist/esm/pipes.d.ts","import":"./dist/esm/pipes.js","browser":"./dist/browser/pipes.js","require":"./dist/pipes.cjs"},"./quill":{"types":"./dist/quill/index.d.ts","import":"./dist/quill/index.js"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js"},"./tiptap":{"types":"./dist/tiptap/index.d.ts","import":"./dist/tiptap/index.js"},"./browser":{"types":"./dist/esm/index.d.ts","import":"./dist/browser/index.js"},"./ckeditor":{"types":"./dist/ckeditor/index.d.ts","import":"./dist/ckeditor/index.js"},"./prosemirror":{"types":"./dist/prosemirror/index.d.ts","import":"./dist/prosemirror/index.js"}},"gitHead":"2800cf866ffa5cd0dcd88c1d1fc40bbeca8aa76e","private":false,"scripts":{"prepare":"husky","postpublish":"rm -rf ./package"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d2305f26-0af9-47cd-89e4-388627c99a35"}},"_npmVersion":"11.10.0","description":"Lightweight keystroke telemetry capture for web applications","directories":{},"sideEffects":false,"_nodeVersion":"22.22.0","publishConfig":{"directory":"package"},"_hasShrinkwrap":false,"peerDependencies":{"vue":">=3.0.0","quill":">=2.0.0","react":">=17.0.0","ckeditor5":">=42.0.0","@tiptap/core":">=2.0.0","prosemirror-view":">=1.0.0","prosemirror-state":">=1.0.0"},"peerDependenciesMeta":{"vue":{"optional":true},"quill":{"optional":true},"react":{"optional":true},"ckeditor5":{"optional":true},"@tiptap/core":{"optional":true},"prosemirror-view":{"optional":true},"prosemirror-state":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/writetrack_0.4.2_1771225933803_0.5516397413452072","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"writetrack","version":"0.4.3","keywords":["keystroke","biometrics","authenticity-validation","human-verification","typing-analysis","behavioral-analysis","security"],"author":"","license":"SEE LICENSE IN LICENSE","_id":"writetrack@0.4.3","maintainers":[{"name":"ammil.industries","email":"admin@ammil.industries"}],"bin":{"writetrack":"cli/init.js"},"dist":{"shasum":"f21e7f7d58e866a539a8258dc732efc48b768722","tarball":"https://registry.npmjs.org/writetrack/-/writetrack-0.4.3.tgz","fileCount":24,"integrity":"sha512-YtD+Sl+Qr01byrBTvSIhsfO9fd7oosKA8u5J1TGRsyqwU38KJcZPMYZ5B3xh99EVlWCzQDVQ+y+PmTJ5ToOsFw==","signatures":[{"sig":"MEUCIQC///KPcL+bKyj97bZNMFeOyCM+Z0S03XSROpGAAEG62AIgHrB3tNw+IuWPvJslUH+GqsnvCY3hFpGzHyYZ/Iy68Ss=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":164008},"main":"dist/index.cjs","type":"module","types":"dist/esm/index.d.ts","module":"dist/esm/index.js","browser":"dist/browser/index.js","exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","browser":"./dist/browser/index.js","require":"./dist/index.cjs"},"./vue":{"types":"./dist/vue/index.d.ts","import":"./dist/vue/index.js"},"./pipes":{"types":"./dist/esm/pipes.d.ts","import":"./dist/esm/pipes.js","browser":"./dist/browser/pipes.js","require":"./dist/pipes.cjs"},"./quill":{"types":"./dist/quill/index.d.ts","import":"./dist/quill/index.js"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js"},"./tiptap":{"types":"./dist/tiptap/index.d.ts","import":"./dist/tiptap/index.js"},"./browser":{"types":"./dist/esm/index.d.ts","import":"./dist/browser/index.js"},"./ckeditor":{"types":"./dist/ckeditor/index.d.ts","import":"./dist/ckeditor/index.js"},"./prosemirror":{"types":"./dist/prosemirror/index.d.ts","import":"./dist/prosemirror/index.js"}},"gitHead":"c183b9de583997187819e76202b54cae028ed162","private":false,"scripts":{"prepare":"husky","postpublish":"rm -rf ./package"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d2305f26-0af9-47cd-89e4-388627c99a35"}},"_npmVersion":"11.10.0","description":"Lightweight keystroke telemetry capture for web applications","directories":{},"sideEffects":false,"_nodeVersion":"22.22.0","publishConfig":{"directory":"package"},"_hasShrinkwrap":false,"peerDependencies":{"vue":">=3.0.0","quill":">=2.0.0","react":">=17.0.0","ckeditor5":">=42.0.0","@tiptap/core":">=2.0.0","prosemirror-view":">=1.0.0","prosemirror-state":">=1.0.0"},"peerDependenciesMeta":{"vue":{"optional":true},"quill":{"optional":true},"react":{"optional":true},"ckeditor5":{"optional":true},"@tiptap/core":{"optional":true},"prosemirror-view":{"optional":true},"prosemirror-state":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/writetrack_0.4.3_1771226607083_0.04049648666491357","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"writetrack","version":"0.5.0","keywords":["keystroke","biometrics","authenticity-validation","human-verification","typing-analysis","behavioral-analysis","security"],"author":"","license":"SEE LICENSE IN LICENSE","_id":"writetrack@0.5.0","maintainers":[{"name":"ammil.industries","email":"admin@ammil.industries"}],"bin":{"writetrack":"cli/init.js"},"dist":{"shasum":"8acd4185cb4f4624ac556330aa01c19f1a1690dc","tarball":"https://registry.npmjs.org/writetrack/-/writetrack-0.5.0.tgz","fileCount":28,"integrity":"sha512-hty+71OTUI7y7Gl4UmCPPs4YkaRiR/ufQIv/Uipfs/An2dS1dW/CnE0L56dqiNVwqpacLUb1fxbkuOaRCKAH1Q==","signatures":[{"sig":"MEQCICFK1ui8fVdUY6u2gMm/OTTvk3oPyPUyeagZ9cdohLFgAiACUSNDcNkrlH9oewr82PnxthF0hsjAlH4dGXPVT3euBw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":535991},"main":"dist/index.cjs","type":"module","types":"dist/esm/index.d.ts","module":"dist/esm/index.js","browser":"dist/browser/index.js","exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","browser":"./dist/browser/index.js","require":"./dist/index.cjs"},"./vue":{"types":"./dist/vue/index.d.ts","import":"./dist/vue/index.js"},"./pipes":{"types":"./dist/esm/pipes.d.ts","import":"./dist/esm/pipes.js","browser":"./dist/browser/pipes.js","require":"./dist/pipes.cjs"},"./quill":{"types":"./dist/quill/index.d.ts","import":"./dist/quill/index.js"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js"},"./tiptap":{"types":"./dist/tiptap/index.d.ts","import":"./dist/tiptap/index.js"},"./verify":{"types":"./dist/esm/verify.d.ts","import":"./dist/esm/verify.js","require":"./dist/verify.cjs"},"./browser":{"types":"./dist/esm/index.d.ts","import":"./dist/browser/index.js"},"./ckeditor":{"types":"./dist/ckeditor/index.d.ts","import":"./dist/ckeditor/index.js"},"./prosemirror":{"types":"./dist/prosemirror/index.d.ts","import":"./dist/prosemirror/index.js"}},"gitHead":"f6617ce3567934f6d9035de9913961ab7d61bfd7","private":false,"scripts":{"prepare":"husky","postpublish":"rm -rf ./package"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d2305f26-0af9-47cd-89e4-388627c99a35"}},"_npmVersion":"11.11.0","description":"Lightweight keystroke telemetry capture for web applications","directories":{},"sideEffects":false,"_nodeVersion":"22.22.0","publishConfig":{"directory":"package"},"_hasShrinkwrap":false,"peerDependencies":{"vue":">=3.0.0","quill":">=2.0.0","react":">=17.0.0","ckeditor5":">=42.0.0","@tiptap/core":">=2.0.0","prosemirror-view":">=1.0.0","prosemirror-state":">=1.0.0"},"peerDependenciesMeta":{"vue":{"optional":true},"quill":{"optional":true},"react":{"optional":true},"ckeditor5":{"optional":true},"@tiptap/core":{"optional":true},"prosemirror-view":{"optional":true},"prosemirror-state":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/writetrack_0.5.0_1772760318550_0.04123354341527152","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"writetrack","version":"0.6.0","keywords":["keystroke","biometrics","authenticity-validation","human-verification","typing-analysis","behavioral-analysis","security"],"author":"","license":"SEE LICENSE IN LICENSE","_id":"writetrack@0.6.0","maintainers":[{"name":"ammil.industries","email":"admin@ammil.industries"}],"bin":{"writetrack":"cli/init.js"},"dist":{"shasum":"d72319e4e7c2bebe9a5139dd9f41a42cf6f76981","tarball":"https://registry.npmjs.org/writetrack/-/writetrack-0.6.0.tgz","fileCount":28,"integrity":"sha512-6ykvMr02w2a2EiPkVZzllxUDN9cq0Skkk4ftQ+oIRkKIPAxOxI32ymTtE2dZolgSpThqVgLw03IkM9A6vcM79A==","signatures":[{"sig":"MEUCIDTcTlQ6UK7FYwkWW/+Aod5ApIEoOY9c/BIgBXC974pMAiEAs0MOIE/+k1/PFoktrtjeVCUx9W5/JjOvvBNxdpbDLxM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":577052},"main":"dist/index.cjs","type":"module","types":"dist/esm/index.d.ts","module":"dist/esm/index.js","browser":"dist/browser/index.js","exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","browser":"./dist/browser/index.js","require":"./dist/index.cjs"},"./vue":{"types":"./dist/vue/index.d.ts","import":"./dist/vue/index.js"},"./pipes":{"types":"./dist/esm/pipes.d.ts","import":"./dist/esm/pipes.js","browser":"./dist/browser/pipes.js","require":"./dist/pipes.cjs"},"./quill":{"types":"./dist/quill/index.d.ts","import":"./dist/quill/index.js"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js"},"./tiptap":{"types":"./dist/tiptap/index.d.ts","import":"./dist/tiptap/index.js"},"./verify":{"types":"./dist/esm/verify.d.ts","import":"./dist/esm/verify.js","require":"./dist/verify.cjs"},"./browser":{"types":"./dist/esm/index.d.ts","import":"./dist/browser/index.js"},"./ckeditor":{"types":"./dist/ckeditor/index.d.ts","import":"./dist/ckeditor/index.js"},"./prosemirror":{"types":"./dist/prosemirror/index.d.ts","import":"./dist/prosemirror/index.js"}},"gitHead":"43cdb3a71bab7d6870e9877938175d8939c6c00b","private":false,"scripts":{"prepare":"husky","postpublish":"rm -rf ./package"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d2305f26-0af9-47cd-89e4-388627c99a35"}},"_npmVersion":"11.11.0","description":"Lightweight keystroke telemetry capture for web applications","directories":{},"sideEffects":false,"_nodeVersion":"22.22.0","publishConfig":{"directory":"package"},"_hasShrinkwrap":false,"peerDependencies":{"vue":">=3.0.0","quill":">=2.0.0","react":">=17.0.0","ckeditor5":">=42.0.0","@tiptap/core":">=2.0.0","prosemirror-view":">=1.0.0","prosemirror-state":">=1.0.0"},"peerDependenciesMeta":{"vue":{"optional":true},"quill":{"optional":true},"react":{"optional":true},"ckeditor5":{"optional":true},"@tiptap/core":{"optional":true},"prosemirror-view":{"optional":true},"prosemirror-state":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/writetrack_0.6.0_1772945747926_0.20951210843610002","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"writetrack","version":"0.6.1","keywords":["keystroke","biometrics","authenticity-validation","human-verification","typing-analysis","behavioral-analysis","security"],"author":"","license":"SEE LICENSE IN LICENSE","_id":"writetrack@0.6.1","maintainers":[{"name":"ammil.industries","email":"admin@ammil.industries"}],"bin":{"writetrack":"cli/init.js"},"dist":{"shasum":"14f3a50cec39b923a198890686913d35fcd21efe","tarball":"https://registry.npmjs.org/writetrack/-/writetrack-0.6.1.tgz","fileCount":30,"integrity":"sha512-KnY+Hq/EEbJHScp+f33WIdjzO92pgKL3dCdORySMDRY6p073VE1d9N93eAPV8tw292ZErZ0v9CLOYrNDX+mdkw==","signatures":[{"sig":"MEUCIQC4ArsPbxAYSFi7IGUWsW6XqR0LrXhRHaV32pY4CUnwdwIgEMcx+4efKf8A8ywNvZ0p8LtrHU3NbjfoxbpzXTWYeIc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":994524},"main":"dist/index.cjs","type":"module","types":"dist/esm/index.d.ts","module":"dist/esm/index.js","browser":"dist/browser/index.js","exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","browser":"./dist/browser/index.js","require":"./dist/index.cjs"},"./vue":{"types":"./dist/vue/index.d.ts","import":"./dist/vue/index.js"},"./pipes":{"types":"./dist/esm/pipes.d.ts","import":"./dist/esm/pipes.js","browser":"./dist/browser/pipes.js","require":"./dist/pipes.cjs"},"./quill":{"types":"./dist/quill/index.d.ts","import":"./dist/quill/index.js"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js"},"./tiptap":{"types":"./dist/tiptap/index.d.ts","import":"./dist/tiptap/index.js"},"./verify":{"types":"./dist/esm/verify.d.ts","import":"./dist/esm/verify.js","require":"./dist/verify.cjs"},"./browser":{"types":"./dist/esm/index.d.ts","import":"./dist/browser/index.js"},"./ckeditor":{"types":"./dist/ckeditor/index.d.ts","import":"./dist/ckeditor/index.js"},"./prosemirror":{"types":"./dist/prosemirror/index.d.ts","import":"./dist/prosemirror/index.js"}},"gitHead":"25d19654684ab7b4b06bf9a6b027e34183760677","private":false,"scripts":{"prepare":"husky","postpublish":"rm -rf ./package"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d2305f26-0af9-47cd-89e4-388627c99a35"}},"_npmVersion":"11.11.0","description":"Lightweight keystroke telemetry capture for web applications","directories":{},"sideEffects":false,"_nodeVersion":"22.22.0","publishConfig":{"directory":"package"},"_hasShrinkwrap":false,"peerDependencies":{"vue":">=3.0.0","quill":">=2.0.0","react":">=17.0.0","ckeditor5":">=42.0.0","@tiptap/core":">=2.0.0","prosemirror-view":">=1.0.0","prosemirror-state":">=1.0.0"},"peerDependenciesMeta":{"vue":{"optional":true},"quill":{"optional":true},"react":{"optional":true},"ckeditor5":{"optional":true},"@tiptap/core":{"optional":true},"prosemirror-view":{"optional":true},"prosemirror-state":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/writetrack_0.6.1_1773077176906_0.6418420754338252","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"writetrack","version":"0.7.0","keywords":["keystroke","biometrics","authenticity-validation","human-verification","typing-analysis","behavioral-analysis","security"],"author":"","license":"SEE LICENSE IN LICENSE","_id":"writetrack@0.7.0","maintainers":[{"name":"ammil.industries","email":"admin@ammil.industries"}],"bin":{"writetrack":"cli/init.js"},"dist":{"shasum":"6fbcbf7aefb72a44267a89bba6b54c9565545d93","tarball":"https://registry.npmjs.org/writetrack/-/writetrack-0.7.0.tgz","fileCount":34,"integrity":"sha512-8M78CBYPXe+XepeW0htLlIVOtPR1Q5YYzmX6XO9PISLEWJHnxnNbAAIQiKDuJU4O3fJm0Rr0RDrkvGh2l7K7Mg==","signatures":[{"sig":"MEUCIQCVbSXjjMLBAvJV1D+2ie13xN/QP/w4ep84SIqJ8zjeMQIgXOQfOLlaTks46ougwetbVSmFzmaNNjiqv343NiEOkv8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1250119},"main":"dist/index.cjs","type":"module","types":"dist/esm/index.d.ts","module":"dist/esm/index.js","browser":"dist/browser/index.js","exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","browser":"./dist/browser/index.js","require":"./dist/index.cjs"},"./viz":{"types":"./dist/esm/viz.d.ts","import":"./dist/esm/viz.js","browser":"./dist/browser/viz.js","require":"./dist/viz.cjs"},"./vue":{"types":"./dist/vue/index.d.ts","import":"./dist/vue/index.js"},"./pipes":{"types":"./dist/esm/pipes.d.ts","import":"./dist/esm/pipes.js","browser":"./dist/browser/pipes.js","require":"./dist/pipes.cjs"},"./quill":{"types":"./dist/quill/index.d.ts","import":"./dist/quill/index.js"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js"},"./tiptap":{"types":"./dist/tiptap/index.d.ts","import":"./dist/tiptap/index.js"},"./verify":{"types":"./dist/esm/verify.d.ts","import":"./dist/esm/verify.js","require":"./dist/verify.cjs"},"./browser":{"types":"./dist/esm/index.d.ts","import":"./dist/browser/index.js"},"./ckeditor":{"types":"./dist/ckeditor/index.d.ts","import":"./dist/ckeditor/index.js"},"./prosemirror":{"types":"./dist/prosemirror/index.d.ts","import":"./dist/prosemirror/index.js"}},"gitHead":"feb67503e85c0dd8f3ca4d94ff5162683887709d","private":false,"scripts":{"prepare":"husky","postpublish":"rm -rf ./package"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d2305f26-0af9-47cd-89e4-388627c99a35"}},"_npmVersion":"11.11.1","description":"Lightweight keystroke telemetry capture for web applications","directories":{},"sideEffects":false,"_nodeVersion":"22.22.1","publishConfig":{"directory":"package"},"_hasShrinkwrap":false,"peerDependencies":{"vue":">=3.0.0","quill":">=2.0.0","react":">=17.0.0","ckeditor5":">=42.0.0","@tiptap/core":">=2.0.0","prosemirror-view":">=1.0.0","prosemirror-state":">=1.0.0","@observablehq/plot":"^0.6.0"},"peerDependenciesMeta":{"vue":{"optional":true},"quill":{"optional":true},"react":{"optional":true},"ckeditor5":{"optional":true},"@tiptap/core":{"optional":true},"prosemirror-view":{"optional":true},"prosemirror-state":{"optional":true},"@observablehq/plot":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/writetrack_0.7.0_1773617866202_0.889820599590528","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"writetrack","version":"0.8.0","keywords":["keystroke","biometrics","authenticity-validation","human-verification","typing-analysis","behavioral-analysis","security"],"author":"","license":"SEE LICENSE IN LICENSE","_id":"writetrack@0.8.0","maintainers":[{"name":"ammil.industries","email":"admin@ammil.industries"}],"bin":{"writetrack":"cli/init.js"},"dist":{"shasum":"b712e09fe45e1b0de11b75089505f7072b820537","tarball":"https://registry.npmjs.org/writetrack/-/writetrack-0.8.0.tgz","fileCount":40,"integrity":"sha512-hd1pbRb96D+r+w5LLp9ccsmb1WiuiqZq0wzw59KC/CeziOMxqR1dsKeejAAjARrsvQMvxzMHfrePksY2rpjVBQ==","signatures":[{"sig":"MEUCIQCxtfgDTbOW3prGOjEKNfwdLPj6KKgJBPwL3CK18yE4ZAIgIebDCa8oM0uxeYto0WbVkcKqtNyt4AdTHjRazijFQII=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1297654},"main":"dist/index.cjs","type":"module","types":"dist/esm/index.d.ts","module":"dist/esm/index.js","browser":"dist/browser/index.js","exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","browser":"./dist/browser/index.js","require":"./dist/index.cjs"},"./viz":{"types":"./dist/esm/viz.d.ts","import":"./dist/esm/viz.js","browser":"./dist/browser/viz.js","require":"./dist/viz.cjs"},"./vue":{"types":"./dist/vue/index.d.ts","import":"./dist/vue/index.js"},"./pipes":{"types":"./dist/esm/pipes.d.ts","import":"./dist/esm/pipes.js","browser":"./dist/browser/pipes.js","require":"./dist/pipes.cjs"},"./quill":{"types":"./dist/quill/index.d.ts","import":"./dist/quill/index.js"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js"},"./slate":{"types":"./dist/slate/index.d.ts","import":"./dist/slate/index.js"},"./tiptap":{"types":"./dist/tiptap/index.d.ts","import":"./dist/tiptap/index.js"},"./verify":{"types":"./dist/esm/verify.d.ts","import":"./dist/esm/verify.js","require":"./dist/verify.cjs"},"./browser":{"types":"./dist/esm/index.d.ts","import":"./dist/browser/index.js"},"./lexical":{"types":"./dist/lexical/index.d.ts","import":"./dist/lexical/index.js"},"./tinymce":{"types":"./dist/tinymce/index.d.ts","import":"./dist/tinymce/index.js"},"./ckeditor":{"types":"./dist/ckeditor/index.d.ts","import":"./dist/ckeditor/index.js"},"./prosemirror":{"types":"./dist/prosemirror/index.d.ts","import":"./dist/prosemirror/index.js"}},"gitHead":"0adbf4334101fbe0f9cd6d95f071b688b5465bc6","private":false,"scripts":{"prepare":"husky","postpublish":"rm -rf ./package"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d2305f26-0af9-47cd-89e4-388627c99a35"}},"_npmVersion":"11.11.1","description":"Lightweight keystroke telemetry capture for web applications","directories":{},"sideEffects":false,"_nodeVersion":"22.22.1","publishConfig":{"directory":"package"},"_hasShrinkwrap":false,"peerDependencies":{"vue":">=3.0.0","quill":">=2.0.0","react":">=17.0.0","slate":">=0.94.0","lexical":">=0.12.0","tinymce":">=6.0.0","ckeditor5":">=42.0.0","@tiptap/core":">=2.0.0","prosemirror-view":">=1.0.0","prosemirror-state":">=1.0.0","@observablehq/plot":"^0.6.0"},"peerDependenciesMeta":{"vue":{"optional":true},"quill":{"optional":true},"react":{"optional":true},"slate":{"optional":true},"lexical":{"optional":true},"tinymce":{"optional":true},"ckeditor5":{"optional":true},"@tiptap/core":{"optional":true},"prosemirror-view":{"optional":true},"prosemirror-state":{"optional":true},"@observablehq/plot":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/writetrack_0.8.0_1773815112055_0.21251655089754085","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"writetrack","version":"0.9.0","keywords":["keystroke","biometrics","authenticity-validation","human-verification","typing-analysis","behavioral-analysis","security"],"author":"","license":"SEE LICENSE IN LICENSE","_id":"writetrack@0.9.0","maintainers":[{"name":"ammil.industries","email":"admin@ammil.industries"}],"bin":{"writetrack":"cli/init.js"},"dist":{"shasum":"cfe8a6deb12fb4da7e43dc5ffbd7f0eef392dde7","tarball":"https://registry.npmjs.org/writetrack/-/writetrack-0.9.0.tgz","fileCount":40,"integrity":"sha512-Bh8eUr6aV5AvCbex2UuWdunxx5FYz+0w0+53sj+sCYYlLzbExh9Qee7mfXdvxFLcHYX291GVpnj+pN8JLI9HgQ==","signatures":[{"sig":"MEUCIHLaYtI5uLwVhiyMu5LsNPhAmniiZY9pkvqyYBuEwZfUAiEAgo1iI6QOeL7qXyG1CYil98ZpdPdGKZV5wcWJDv7+h7k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1327654},"main":"dist/index.cjs","type":"module","types":"dist/esm/index.d.ts","module":"dist/esm/index.js","browser":"dist/browser/index.js","exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","browser":"./dist/browser/index.js","require":"./dist/index.cjs"},"./viz":{"types":"./dist/esm/viz.d.ts","import":"./dist/esm/viz.js","browser":"./dist/browser/viz.js","require":"./dist/viz.cjs"},"./vue":{"types":"./dist/vue/index.d.ts","import":"./dist/vue/index.js"},"./pipes":{"types":"./dist/esm/pipes.d.ts","import":"./dist/esm/pipes.js","browser":"./dist/browser/pipes.js","require":"./dist/pipes.cjs"},"./quill":{"types":"./dist/quill/index.d.ts","import":"./dist/quill/index.js"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js"},"./slate":{"types":"./dist/slate/index.d.ts","import":"./dist/slate/index.js"},"./tiptap":{"types":"./dist/tiptap/index.d.ts","import":"./dist/tiptap/index.js"},"./verify":{"types":"./dist/esm/verify.d.ts","import":"./dist/esm/verify.js","require":"./dist/verify.cjs"},"./browser":{"types":"./dist/esm/index.d.ts","import":"./dist/browser/index.js"},"./lexical":{"types":"./dist/lexical/index.d.ts","import":"./dist/lexical/index.js"},"./tinymce":{"types":"./dist/tinymce/index.d.ts","import":"./dist/tinymce/index.js"},"./ckeditor":{"types":"./dist/ckeditor/index.d.ts","import":"./dist/ckeditor/index.js"},"./prosemirror":{"types":"./dist/prosemirror/index.d.ts","import":"./dist/prosemirror/index.js"}},"gitHead":"8e8ae8045caa734e38dc14c4a65ef6fd0e5153d4","private":false,"scripts":{"prepare":"husky","postpublish":"rm -rf ./package"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d2305f26-0af9-47cd-89e4-388627c99a35"}},"_npmVersion":"11.12.0","description":"Lightweight keystroke telemetry capture for web applications","directories":{},"sideEffects":false,"_nodeVersion":"22.22.1","_hasShrinkwrap":false,"peerDependencies":{"vue":">=3.0.0","quill":">=2.0.0","react":">=17.0.0","slate":">=0.94.0","lexical":">=0.12.0","tinymce":">=6.0.0","ckeditor5":">=42.0.0","@tiptap/core":">=2.0.0","prosemirror-view":">=1.0.0","prosemirror-state":">=1.0.0","@observablehq/plot":"^0.6.0"},"peerDependenciesMeta":{"vue":{"optional":true},"quill":{"optional":true},"react":{"optional":true},"slate":{"optional":true},"lexical":{"optional":true},"tinymce":{"optional":true},"ckeditor5":{"optional":true},"@tiptap/core":{"optional":true},"prosemirror-view":{"optional":true},"prosemirror-state":{"optional":true},"@observablehq/plot":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/writetrack_0.9.0_1773994383800_0.24285501749152538","host":"s3://npm-registry-packages-npm-production"}},"0.9.1":{"name":"writetrack","version":"0.9.1","keywords":["keystroke","biometrics","authenticity-validation","human-verification","typing-analysis","behavioral-analysis","security"],"author":{"name":"ammil industries"},"license":"SEE LICENSE IN LICENSE","_id":"writetrack@0.9.1","maintainers":[{"name":"ammil.industries","email":"admin@ammil.industries"}],"homepage":"https://writetrack.dev","bugs":{"url":"https://github.com/ammil-industries/writetrack/issues"},"bin":{"writetrack":"cli/init.js"},"dist":{"shasum":"3d8d9541de02f1d345269331cf916565ee1eb2db","tarball":"https://registry.npmjs.org/writetrack/-/writetrack-0.9.1.tgz","fileCount":40,"integrity":"sha512-yKm3wLu84tKDPpXvm7H/qB/WsweMDgjkMI1xySYpe3k70eOcEoU5T2QT24OFB0jXs2U7QNpqtZQD5bFeAKg/+A==","signatures":[{"sig":"MEUCIQCQD2rP+afqRPG2aOiZEfLqZ0lwSv332gYJXiX+n5qQLwIgUvse+iiYF0F05h+jq2fpg4Di+MXTMXNJUKh+EAAFRcs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1346515},"main":"dist/index.cjs","type":"module","types":"dist/esm/index.d.ts","module":"dist/esm/index.js","browser":"dist/browser/index.js","exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","browser":"./dist/browser/index.js","require":"./dist/index.cjs"},"./viz":{"types":"./dist/esm/viz.d.ts","import":"./dist/esm/viz.js","browser":"./dist/browser/viz.js","require":"./dist/viz.cjs"},"./vue":{"types":"./dist/vue/index.d.ts","import":"./dist/vue/index.js"},"./pipes":{"types":"./dist/esm/pipes.d.ts","import":"./dist/esm/pipes.js","browser":"./dist/browser/pipes.js","require":"./dist/pipes.cjs"},"./quill":{"types":"./dist/quill/index.d.ts","import":"./dist/quill/index.js"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js"},"./slate":{"types":"./dist/slate/index.d.ts","import":"./dist/slate/index.js"},"./tiptap":{"types":"./dist/tiptap/index.d.ts","import":"./dist/tiptap/index.js"},"./verify":{"types":"./dist/esm/verify.d.ts","import":"./dist/esm/verify.js","require":"./dist/verify.cjs"},"./browser":{"types":"./dist/esm/index.d.ts","import":"./dist/browser/index.js"},"./lexical":{"types":"./dist/lexical/index.d.ts","import":"./dist/lexical/index.js"},"./tinymce":{"types":"./dist/tinymce/index.d.ts","import":"./dist/tinymce/index.js"},"./ckeditor":{"types":"./dist/ckeditor/index.d.ts","import":"./dist/ckeditor/index.js"},"./prosemirror":{"types":"./dist/prosemirror/index.d.ts","import":"./dist/prosemirror/index.js"}},"gitHead":"ac20738f73a0f859f705b575d1956c3f28f5b69d","private":false,"scripts":{"prepare":"husky","postpublish":"rm -rf ./package"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d2305f26-0af9-47cd-89e4-388627c99a35"}},"repository":{"url":"git+https://github.com/ammil-industries/writetrack.git","type":"git"},"_npmVersion":"11.12.0","description":"Lightweight keystroke telemetry capture for web applications","directories":{},"sideEffects":false,"_nodeVersion":"22.22.1","_hasShrinkwrap":false,"peerDependencies":{"vue":">=3.0.0","quill":">=2.0.0","react":">=17.0.0","slate":">=0.94.0","lexical":">=0.12.0","tinymce":">=6.0.0","ckeditor5":">=42.0.0","@tiptap/core":">=2.0.0","prosemirror-view":">=1.0.0","prosemirror-state":">=1.0.0","@observablehq/plot":"^0.6.0"},"peerDependenciesMeta":{"vue":{"optional":true},"quill":{"optional":true},"react":{"optional":true},"slate":{"optional":true},"lexical":{"optional":true},"tinymce":{"optional":true},"ckeditor5":{"optional":true},"@tiptap/core":{"optional":true},"prosemirror-view":{"optional":true},"prosemirror-state":{"optional":true},"@observablehq/plot":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/writetrack_0.9.1_1774336919931_0.9711417705361551","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"writetrack","version":"0.10.0","keywords":["keystroke","biometrics","authenticity-validation","human-verification","typing-analysis","behavioral-analysis","security"],"author":{"name":"ammil industries"},"license":"SEE LICENSE IN LICENSE","_id":"writetrack@0.10.0","maintainers":[{"name":"ammil.industries","email":"admin@ammil.industries"}],"homepage":"https://writetrack.dev","bugs":{"url":"https://github.com/ammil-industries/writetrack/issues"},"bin":{"writetrack":"cli/init.js"},"dist":{"shasum":"dd07a9110bca923851672d899410f124624f112e","tarball":"https://registry.npmjs.org/writetrack/-/writetrack-0.10.0.tgz","fileCount":40,"integrity":"sha512-ATYh5AmbskxVODjLCejfMhkzUxL+7MErkIcMeRY51Azq4rG5uTdE2MSXTVgEMBPi0UU5N8jdkhtsoCwmEIGb8g==","signatures":[{"sig":"MEUCIClK2mr26O2rtJ4+40kploeh3fAasP/6TG2u1AWrpZyvAiEAwDjxZRMhhq0sF7slBoLHoWy7fNTG5r1xM2jqakxWNBo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1420432},"main":"dist/index.cjs","type":"module","types":"dist/esm/index.d.ts","module":"dist/esm/index.js","browser":"dist/browser/index.js","exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","browser":"./dist/browser/index.js","require":"./dist/index.cjs"},"./viz":{"types":"./dist/esm/viz.d.ts","import":"./dist/esm/viz.js","browser":"./dist/browser/viz.js","require":"./dist/viz.cjs"},"./vue":{"types":"./dist/vue/index.d.ts","import":"./dist/vue/index.js"},"./pipes":{"types":"./dist/esm/pipes.d.ts","import":"./dist/esm/pipes.js","browser":"./dist/browser/pipes.js","require":"./dist/pipes.cjs"},"./quill":{"types":"./dist/quill/index.d.ts","import":"./dist/quill/index.js"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js"},"./slate":{"types":"./dist/slate/index.d.ts","import":"./dist/slate/index.js"},"./tiptap":{"types":"./dist/tiptap/index.d.ts","import":"./dist/tiptap/index.js"},"./verify":{"types":"./dist/esm/verify.d.ts","import":"./dist/esm/verify.js","require":"./dist/verify.cjs"},"./browser":{"types":"./dist/esm/index.d.ts","import":"./dist/browser/index.js"},"./lexical":{"types":"./dist/lexical/index.d.ts","import":"./dist/lexical/index.js"},"./tinymce":{"types":"./dist/tinymce/index.d.ts","import":"./dist/tinymce/index.js"},"./ckeditor":{"types":"./dist/ckeditor/index.d.ts","import":"./dist/ckeditor/index.js"},"./prosemirror":{"types":"./dist/prosemirror/index.d.ts","import":"./dist/prosemirror/index.js"}},"gitHead":"9b724fb0e84ff45e1b57047639f95643d189db6e","private":false,"scripts":{"prepare":"husky","postpublish":"rm -rf ./package"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d2305f26-0af9-47cd-89e4-388627c99a35"}},"repository":{"url":"git+https://github.com/ammil-industries/writetrack.git","type":"git"},"_npmVersion":"11.12.0","description":"Lightweight keystroke telemetry capture for web applications","directories":{},"sideEffects":false,"_nodeVersion":"22.22.1","_hasShrinkwrap":false,"peerDependencies":{"vue":">=3.0.0","quill":">=2.0.0","react":">=17.0.0","slate":">=0.94.0","lexical":">=0.12.0","tinymce":">=6.0.0","ckeditor5":">=42.0.0","@tiptap/core":">=2.0.0","prosemirror-view":">=1.0.0","prosemirror-state":">=1.0.0","@observablehq/plot":"^0.6.0"},"peerDependenciesMeta":{"vue":{"optional":true},"quill":{"optional":true},"react":{"optional":true},"slate":{"optional":true},"lexical":{"optional":true},"tinymce":{"optional":true},"ckeditor5":{"optional":true},"@tiptap/core":{"optional":true},"prosemirror-view":{"optional":true},"prosemirror-state":{"optional":true},"@observablehq/plot":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/writetrack_0.10.0_1774491260564_0.9657984412840985","host":"s3://npm-registry-packages-npm-production"}},"0.10.1":{"name":"writetrack","version":"0.10.1","keywords":["keystroke","biometrics","authenticity-validation","human-verification","typing-analysis","behavioral-analysis","security"],"author":{"name":"ammil industries"},"license":"SEE LICENSE IN LICENSE","_id":"writetrack@0.10.1","maintainers":[{"name":"ammil.industries","email":"admin@ammil.industries"}],"homepage":"https://writetrack.dev","bugs":{"url":"https://github.com/ammil-industries/writetrack/issues"},"bin":{"writetrack":"cli/init.js"},"dist":{"shasum":"2c000a6186878d00d84bad4c442a35231f333e8f","tarball":"https://registry.npmjs.org/writetrack/-/writetrack-0.10.1.tgz","fileCount":40,"integrity":"sha512-HSQPETVdpdiLgytpno3X0VbzitsBKBFomuJAFo+uNMZ7JQcrHN/uOCflSncCxAlFVLVvo6420JyFqmNuJlw2yw==","signatures":[{"sig":"MEYCIQDSBCzevfCbfV8cS6iHKU4WdinI1BbqkcyLnBSwW8WPsQIhANlFncS6d2hOK5FBXsAsYmu3BWphXDVzE9GnqTyOs3Wq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1422347},"main":"dist/index.cjs","type":"module","types":"dist/esm/index.d.ts","module":"dist/esm/index.js","browser":"dist/browser/index.js","exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","browser":"./dist/browser/index.js","require":"./dist/index.cjs"},"./viz":{"types":"./dist/esm/viz.d.ts","import":"./dist/esm/viz.js","browser":"./dist/browser/viz.js","require":"./dist/viz.cjs"},"./vue":{"types":"./dist/vue/index.d.ts","import":"./dist/vue/index.js"},"./pipes":{"types":"./dist/esm/pipes.d.ts","import":"./dist/esm/pipes.js","browser":"./dist/browser/pipes.js","require":"./dist/pipes.cjs"},"./quill":{"types":"./dist/quill/index.d.ts","import":"./dist/quill/index.js"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js"},"./slate":{"types":"./dist/slate/index.d.ts","import":"./dist/slate/index.js"},"./tiptap":{"types":"./dist/tiptap/index.d.ts","import":"./dist/tiptap/index.js"},"./verify":{"types":"./dist/esm/verify.d.ts","import":"./dist/esm/verify.js","require":"./dist/verify.cjs"},"./browser":{"types":"./dist/esm/index.d.ts","import":"./dist/browser/index.js"},"./lexical":{"types":"./dist/lexical/index.d.ts","import":"./dist/lexical/index.js"},"./tinymce":{"types":"./dist/tinymce/index.d.ts","import":"./dist/tinymce/index.js"},"./ckeditor":{"types":"./dist/ckeditor/index.d.ts","import":"./dist/ckeditor/index.js"},"./prosemirror":{"types":"./dist/prosemirror/index.d.ts","import":"./dist/prosemirror/index.js"}},"gitHead":"59ec178d03cd0a4f4863578a243bbff6f98a0a79","private":false,"scripts":{"prepare":"husky","postpublish":"rm -rf ./package"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d2305f26-0af9-47cd-89e4-388627c99a35"}},"repository":{"url":"git+https://github.com/ammil-industries/writetrack.git","type":"git"},"_npmVersion":"11.12.0","description":"Lightweight keystroke telemetry capture for web applications","directories":{},"sideEffects":false,"_nodeVersion":"22.22.1","_hasShrinkwrap":false,"peerDependencies":{"vue":">=3.0.0","quill":">=2.0.0","react":">=17.0.0","slate":">=0.94.0","lexical":">=0.12.0","tinymce":">=6.0.0","ckeditor5":">=42.0.0","@tiptap/core":">=2.0.0","prosemirror-view":">=1.0.0","prosemirror-state":">=1.0.0","@observablehq/plot":"^0.6.0"},"peerDependenciesMeta":{"vue":{"optional":true},"quill":{"optional":true},"react":{"optional":true},"slate":{"optional":true},"lexical":{"optional":true},"tinymce":{"optional":true},"ckeditor5":{"optional":true},"@tiptap/core":{"optional":true},"prosemirror-view":{"optional":true},"prosemirror-state":{"optional":true},"@observablehq/plot":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/writetrack_0.10.1_1774499115918_0.7294217222820623","host":"s3://npm-registry-packages-npm-production"}},"0.10.2":{"name":"writetrack","version":"0.10.2","keywords":["keystroke","biometrics","authenticity-validation","human-verification","typing-analysis","behavioral-analysis","security"],"author":{"name":"ammil industries"},"license":"SEE LICENSE IN LICENSE","_id":"writetrack@0.10.2","maintainers":[{"name":"ammil.industries","email":"admin@ammil.industries"}],"homepage":"https://writetrack.dev","bugs":{"url":"https://github.com/ammil-industries/writetrack/issues"},"bin":{"writetrack":"cli/init.js"},"dist":{"shasum":"68984a4f3dded99fbfd1ac17267ea038f02b6a09","tarball":"https://registry.npmjs.org/writetrack/-/writetrack-0.10.2.tgz","fileCount":40,"integrity":"sha512-zYkt4L+7/9C7xiztZIVYtpT2ad8vKNu3SXJDXHXDsnTnG26solDEU6tfmTYsFzXPiVqOD4i3E7oolVhukKZLJA==","signatures":[{"sig":"MEYCIQDmHVCldhX9tInzBQ+2FO6UpqS14DVPTSVMV6eFiDm9+QIhALXEuS34W9vNJ0KqeHFJY9gSUu4JsupLMHXp3ASOGbnO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1422396},"main":"dist/index.cjs","type":"module","types":"dist/esm/index.d.ts","module":"dist/esm/index.js","browser":"dist/browser/index.js","exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","browser":"./dist/browser/index.js","require":"./dist/index.cjs"},"./viz":{"types":"./dist/esm/viz.d.ts","import":"./dist/esm/viz.js","browser":"./dist/browser/viz.js","require":"./dist/viz.cjs"},"./vue":{"types":"./dist/vue/index.d.ts","import":"./dist/vue/index.js"},"./pipes":{"types":"./dist/esm/pipes.d.ts","import":"./dist/esm/pipes.js","browser":"./dist/browser/pipes.js","require":"./dist/pipes.cjs"},"./quill":{"types":"./dist/quill/index.d.ts","import":"./dist/quill/index.js"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js"},"./slate":{"types":"./dist/slate/index.d.ts","import":"./dist/slate/index.js"},"./tiptap":{"types":"./dist/tiptap/index.d.ts","import":"./dist/tiptap/index.js"},"./verify":{"types":"./dist/esm/verify.d.ts","import":"./dist/esm/verify.js","require":"./dist/verify.cjs"},"./browser":{"types":"./dist/esm/index.d.ts","import":"./dist/browser/index.js"},"./lexical":{"types":"./dist/lexical/index.d.ts","import":"./dist/lexical/index.js"},"./tinymce":{"types":"./dist/tinymce/index.d.ts","import":"./dist/tinymce/index.js"},"./ckeditor":{"types":"./dist/ckeditor/index.d.ts","import":"./dist/ckeditor/index.js"},"./prosemirror":{"types":"./dist/prosemirror/index.d.ts","import":"./dist/prosemirror/index.js"}},"gitHead":"eff6f7d40d93c4941741c7371d8c2362dec335f3","private":false,"scripts":{"prepare":"husky","postpublish":"rm -rf ./package"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d2305f26-0af9-47cd-89e4-388627c99a35"}},"repository":{"url":"git+https://github.com/ammil-industries/writetrack.git","type":"git"},"_npmVersion":"11.12.0","description":"Lightweight keystroke telemetry capture for web applications","directories":{},"sideEffects":false,"_nodeVersion":"22.22.1","_hasShrinkwrap":false,"peerDependencies":{"vue":">=3.0.0","quill":">=2.0.0","react":">=17.0.0","slate":">=0.94.0","lexical":">=0.12.0","tinymce":">=6.0.0","ckeditor5":">=42.0.0","@tiptap/core":">=2.0.0","prosemirror-view":">=1.0.0","prosemirror-state":">=1.0.0","@observablehq/plot":"^0.6.0"},"peerDependenciesMeta":{"vue":{"optional":true},"quill":{"optional":true},"react":{"optional":true},"slate":{"optional":true},"lexical":{"optional":true},"tinymce":{"optional":true},"ckeditor5":{"optional":true},"@tiptap/core":{"optional":true},"prosemirror-view":{"optional":true},"prosemirror-state":{"optional":true},"@observablehq/plot":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/writetrack_0.10.2_1774505596869_0.3116247084499124","host":"s3://npm-registry-packages-npm-production"}},"0.10.3":{"name":"writetrack","version":"0.10.3","keywords":["keystroke","biometrics","authenticity-validation","human-verification","typing-analysis","behavioral-analysis","security"],"author":{"name":"ammil industries"},"license":"SEE LICENSE IN LICENSE","_id":"writetrack@0.10.3","maintainers":[{"name":"ammil.industries","email":"admin@ammil.industries"}],"homepage":"https://writetrack.dev","bugs":{"url":"https://github.com/ammil-industries/writetrack/issues"},"bin":{"writetrack":"cli/init.js"},"dist":{"shasum":"72a7177c6cfbb7c35d9842e311e0951b28feb857","tarball":"https://registry.npmjs.org/writetrack/-/writetrack-0.10.3.tgz","fileCount":40,"integrity":"sha512-zHZ/XjiQtnCXuCIN/Zq2RpBwiXLvIe8EIsOZfMPxQYS/fuFDATYU5DHu+E0VleHZI7i2741VEqlbJYGDd9GIug==","signatures":[{"sig":"MEUCIQDQ0PiWZiNR3qyCEUVpODQMxsAz+Rno5RGYhJ0TklIUCwIgAYZVyQxg35jgwtcrr0mQlkimX6WRHjmOyyjhjxXBMSo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1422449},"main":"dist/index.cjs","type":"module","types":"dist/esm/index.d.ts","module":"dist/esm/index.js","browser":"dist/browser/index.js","exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","browser":"./dist/browser/index.js","require":"./dist/index.cjs"},"./viz":{"types":"./dist/esm/viz.d.ts","import":"./dist/esm/viz.js","browser":"./dist/browser/viz.js","require":"./dist/viz.cjs"},"./vue":{"types":"./dist/vue/index.d.ts","import":"./dist/vue/index.js"},"./pipes":{"types":"./dist/esm/pipes.d.ts","import":"./dist/esm/pipes.js","browser":"./dist/browser/pipes.js","require":"./dist/pipes.cjs"},"./quill":{"types":"./dist/quill/index.d.ts","import":"./dist/quill/index.js"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js"},"./slate":{"types":"./dist/slate/index.d.ts","import":"./dist/slate/index.js"},"./tiptap":{"types":"./dist/tiptap/index.d.ts","import":"./dist/tiptap/index.js"},"./verify":{"types":"./dist/esm/verify.d.ts","import":"./dist/esm/verify.js","require":"./dist/verify.cjs"},"./browser":{"types":"./dist/esm/index.d.ts","import":"./dist/browser/index.js"},"./lexical":{"types":"./dist/lexical/index.d.ts","import":"./dist/lexical/index.js"},"./tinymce":{"types":"./dist/tinymce/index.d.ts","import":"./dist/tinymce/index.js"},"./ckeditor":{"types":"./dist/ckeditor/index.d.ts","import":"./dist/ckeditor/index.js"},"./prosemirror":{"types":"./dist/prosemirror/index.d.ts","import":"./dist/prosemirror/index.js"}},"gitHead":"fc19fcad6764e5631241e26a9ee63c7f85f4fb80","private":false,"scripts":{"prepare":"husky","postpublish":"rm -rf ./package"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d2305f26-0af9-47cd-89e4-388627c99a35"}},"repository":{"url":"git+https://github.com/ammil-industries/writetrack.git","type":"git"},"_npmVersion":"11.12.0","description":"Lightweight keystroke telemetry capture for web applications","directories":{},"sideEffects":false,"_nodeVersion":"22.22.1","_hasShrinkwrap":false,"peerDependencies":{"vue":">=3.0.0","quill":">=2.0.0","react":">=17.0.0","slate":">=0.94.0","lexical":">=0.12.0","tinymce":">=6.0.0","ckeditor5":">=42.0.0","@tiptap/core":">=2.0.0","prosemirror-view":">=1.0.0","prosemirror-state":">=1.0.0","@observablehq/plot":"^0.6.0"},"peerDependenciesMeta":{"vue":{"optional":true},"quill":{"optional":true},"react":{"optional":true},"slate":{"optional":true},"lexical":{"optional":true},"tinymce":{"optional":true},"ckeditor5":{"optional":true},"@tiptap/core":{"optional":true},"prosemirror-view":{"optional":true},"prosemirror-state":{"optional":true},"@observablehq/plot":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/writetrack_0.10.3_1774506435694_0.5031482723216056","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"writetrack","version":"0.11.0","keywords":["keystroke","biometrics","authenticity-validation","human-verification","typing-analysis","behavioral-analysis","security"],"author":{"name":"ammil industries"},"license":"SEE LICENSE IN LICENSE","_id":"writetrack@0.11.0","maintainers":[{"name":"ammil.industries","email":"admin@ammil.industries"}],"homepage":"https://writetrack.dev","bugs":{"url":"https://github.com/ammil-industries/writetrack/issues"},"bin":{"writetrack":"cli/init.js"},"dist":{"shasum":"13cf34bcaf7cf7d45be148e3e0868a75a92bb0d3","tarball":"https://registry.npmjs.org/writetrack/-/writetrack-0.11.0.tgz","fileCount":42,"integrity":"sha512-DJLaJj0uyoRRkmxkuKR7g31qlO2Noyh35kHnrZPkTpPNKzBP+thSP56zHtUSfRMX3Xo0lU8SjnWq8eIFDeC5bg==","signatures":[{"sig":"MEYCIQCxho7XqjoTVa5Qt3qwOoCgr6pGFrcaMuhmwGNpJi4v9QIhAItIVYG8Ol+sga8a2ByG4cyOakSmppGueG+LSFFNrYMK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1486511},"main":"dist/index.cjs","type":"module","types":"dist/esm/index.d.ts","module":"dist/esm/index.js","browser":"dist/browser/index.js","exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","browser":"./dist/browser/index.js","require":"./dist/index.cjs"},"./viz":{"types":"./dist/esm/viz.d.ts","import":"./dist/esm/viz.js","browser":"./dist/browser/viz.js","require":"./dist/viz.cjs"},"./vue":{"types":"./dist/vue/index.d.ts","import":"./dist/vue/index.js"},"./pipes":{"types":"./dist/esm/pipes.d.ts","import":"./dist/esm/pipes.js","browser":"./dist/browser/pipes.js","require":"./dist/pipes.cjs"},"./quill":{"types":"./dist/quill/index.d.ts","import":"./dist/quill/index.js"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js"},"./slate":{"types":"./dist/slate/index.d.ts","import":"./dist/slate/index.js"},"./tiptap":{"types":"./dist/tiptap/index.d.ts","import":"./dist/tiptap/index.js"},"./verify":{"types":"./dist/esm/verify.d.ts","import":"./dist/esm/verify.js","require":"./dist/verify.cjs"},"./browser":{"types":"./dist/esm/index.d.ts","import":"./dist/browser/index.js"},"./lexical":{"types":"./dist/lexical/index.d.ts","import":"./dist/lexical/index.js"},"./testing":{"types":"./dist/esm/testing.d.ts","import":"./dist/esm/testing.js"},"./tinymce":{"types":"./dist/tinymce/index.d.ts","import":"./dist/tinymce/index.js"},"./ckeditor":{"types":"./dist/ckeditor/index.d.ts","import":"./dist/ckeditor/index.js"},"./prosemirror":{"types":"./dist/prosemirror/index.d.ts","import":"./dist/prosemirror/index.js"}},"gitHead":"3afcf76f369746de14199be5aa1aef09d018c879","private":false,"scripts":{"prepare":"husky","postpublish":"rm -rf ./package"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d2305f26-0af9-47cd-89e4-388627c99a35"}},"repository":{"url":"git+https://github.com/ammil-industries/writetrack.git","type":"git"},"_npmVersion":"11.12.1","description":"Lightweight keystroke telemetry capture for web applications","directories":{},"sideEffects":["./dist/tinymce/index.js","./src/tinymce/index.ts"],"_nodeVersion":"22.22.1","_hasShrinkwrap":false,"peerDependencies":{"vue":">=3.0.0","quill":">=2.0.0","react":">=17.0.0","slate":">=0.94.0","lexical":">=0.12.0","tinymce":">=6.0.0","ckeditor5":">=42.0.0","@tiptap/core":">=2.0.0","prosemirror-view":">=1.0.0","prosemirror-state":">=1.0.0","@observablehq/plot":"^0.6.0"},"peerDependenciesMeta":{"vue":{"optional":true},"quill":{"optional":true},"react":{"optional":true},"slate":{"optional":true},"lexical":{"optional":true},"tinymce":{"optional":true},"ckeditor5":{"optional":true},"@tiptap/core":{"optional":true},"prosemirror-view":{"optional":true},"prosemirror-state":{"optional":true},"@observablehq/plot":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/writetrack_0.11.0_1775033125755_0.80869362264789","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"writetrack","version":"0.12.0","keywords":["keystroke","biometrics","authenticity-validation","human-verification","typing-analysis","behavioral-analysis","security"],"author":{"name":"ammil industries"},"license":"SEE LICENSE IN LICENSE","_id":"writetrack@0.12.0","maintainers":[{"name":"ammil.industries","email":"admin@ammil.industries"}],"homepage":"https://writetrack.dev","bugs":{"url":"https://github.com/ammil-industries/writetrack/issues"},"bin":{"writetrack":"cli/init.js"},"dist":{"shasum":"395f3cb87fca90a13f7b6552e6b4c307d68048cb","tarball":"https://registry.npmjs.org/writetrack/-/writetrack-0.12.0.tgz","fileCount":42,"integrity":"sha512-lxRNR+s+mx6Cughe4tztGjF1usKTIeVaLDEAPZa9dtvPsv1NdxH/8lRSRQCwaJP20UfvN9ap0EgEhwN5XCc0gA==","signatures":[{"sig":"MEYCIQCCLF7HO1bpN4VgmkReve4kRtqBlHo1C87X4WiqW8/1BQIhAJIYvOWfU0ZOLOJKgkRNHaEAjvY6Ozd3/HV7CSiT/LNN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1689291},"main":"dist/index.cjs","type":"module","types":"dist/esm/index.d.ts","module":"dist/esm/index.js","browser":"dist/browser/index.js","exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","browser":"./dist/browser/index.js","require":"./dist/index.cjs"},"./viz":{"types":"./dist/esm/viz.d.ts","import":"./dist/esm/viz.js","browser":"./dist/browser/viz.js","require":"./dist/viz.cjs"},"./vue":{"types":"./dist/vue/index.d.ts","import":"./dist/vue/index.js"},"./pipes":{"types":"./dist/esm/pipes.d.ts","import":"./dist/esm/pipes.js","browser":"./dist/browser/pipes.js","require":"./dist/pipes.cjs"},"./quill":{"types":"./dist/quill/index.d.ts","import":"./dist/quill/index.js"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js"},"./slate":{"types":"./dist/slate/index.d.ts","import":"./dist/slate/index.js"},"./tiptap":{"types":"./dist/tiptap/index.d.ts","import":"./dist/tiptap/index.js"},"./verify":{"types":"./dist/esm/verify.d.ts","import":"./dist/esm/verify.js","require":"./dist/verify.cjs"},"./browser":{"types":"./dist/esm/index.d.ts","import":"./dist/browser/index.js"},"./lexical":{"types":"./dist/lexical/index.d.ts","import":"./dist/lexical/index.js"},"./testing":{"types":"./dist/esm/testing.d.ts","import":"./dist/esm/testing.js"},"./tinymce":{"types":"./dist/tinymce/index.d.ts","import":"./dist/tinymce/index.js"},"./ckeditor":{"types":"./dist/ckeditor/index.d.ts","import":"./dist/ckeditor/index.js"},"./prosemirror":{"types":"./dist/prosemirror/index.d.ts","import":"./dist/prosemirror/index.js"}},"gitHead":"38c118eccabf16260d07b44d734f1a632f5fb25d","private":false,"scripts":{"prepare":"husky","postpublish":"rm -rf ./package"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d2305f26-0af9-47cd-89e4-388627c99a35"}},"repository":{"url":"git+https://github.com/ammil-industries/writetrack.git","type":"git"},"_npmVersion":"11.11.1","description":"Lightweight keystroke dynamics capture for web applications","directories":{},"sideEffects":["./dist/tinymce/index.js","./src/tinymce/index.ts"],"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"peerDependencies":{"vue":">=3.0.0","quill":">=2.0.0","react":">=17.0.0","slate":">=0.94.0","lexical":">=0.12.0","tinymce":">=6.0.0","ckeditor5":">=42.0.0","@tiptap/core":">=2.0.0","prosemirror-view":">=1.0.0","prosemirror-state":">=1.0.0","@observablehq/plot":"^0.6.0"},"peerDependenciesMeta":{"vue":{"optional":true},"quill":{"optional":true},"react":{"optional":true},"slate":{"optional":true},"lexical":{"optional":true},"tinymce":{"optional":true},"ckeditor5":{"optional":true},"@tiptap/core":{"optional":true},"prosemirror-view":{"optional":true},"prosemirror-state":{"optional":true},"@observablehq/plot":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/writetrack_0.12.0_1775629684079_0.9371656199131566","host":"s3://npm-registry-packages-npm-production"}},"0.12.1":{"name":"writetrack","version":"0.12.1","keywords":["keystroke","biometrics","authenticity-validation","human-verification","typing-analysis","behavioral-analysis","security"],"author":{"name":"ammil industries"},"license":"SEE LICENSE IN LICENSE","_id":"writetrack@0.12.1","maintainers":[{"name":"ammil.industries","email":"admin@ammil.industries"}],"homepage":"https://writetrack.dev","bugs":{"url":"https://github.com/ammil-industries/writetrack/issues"},"bin":{"writetrack":"cli/init.js"},"dist":{"shasum":"9aa545f68f4a2e110040be5508a9dd4f11d621ce","tarball":"https://registry.npmjs.org/writetrack/-/writetrack-0.12.1.tgz","fileCount":42,"integrity":"sha512-NwDJcfOi+J2yj4Au3iWudlLE7/BoGLfT5sI1W+qbTDSckWX5RdQRj7/LzDk/X4iMUBXKQxKexjj3AWYad8O23Q==","signatures":[{"sig":"MEYCIQDPyBJDBP9MgNe8uG1ShZUB69fd26ABpx0DYK+P6IoLIAIhAMCD2rLWQgsQ3G+Mz2z0EPGlSpkVUlPHQCrP7YnemxML","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1689828},"main":"dist/index.cjs","type":"module","types":"dist/esm/index.d.ts","module":"dist/esm/index.js","browser":"dist/browser/index.js","exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","browser":"./dist/browser/index.js","require":"./dist/index.cjs"},"./viz":{"types":"./dist/esm/viz.d.ts","import":"./dist/esm/viz.js","browser":"./dist/browser/viz.js","require":"./dist/viz.cjs"},"./vue":{"types":"./dist/vue/index.d.ts","import":"./dist/vue/index.js"},"./pipes":{"types":"./dist/esm/pipes.d.ts","import":"./dist/esm/pipes.js","browser":"./dist/browser/pipes.js","require":"./dist/pipes.cjs"},"./quill":{"types":"./dist/quill/index.d.ts","import":"./dist/quill/index.js"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js"},"./slate":{"types":"./dist/slate/index.d.ts","import":"./dist/slate/index.js"},"./tiptap":{"types":"./dist/tiptap/index.d.ts","import":"./dist/tiptap/index.js"},"./verify":{"types":"./dist/esm/verify.d.ts","import":"./dist/esm/verify.js","require":"./dist/verify.cjs"},"./browser":{"types":"./dist/esm/index.d.ts","import":"./dist/browser/index.js"},"./lexical":{"types":"./dist/lexical/index.d.ts","import":"./dist/lexical/index.js"},"./testing":{"types":"./dist/esm/testing.d.ts","import":"./dist/esm/testing.js"},"./tinymce":{"types":"./dist/tinymce/index.d.ts","import":"./dist/tinymce/index.js"},"./ckeditor":{"types":"./dist/ckeditor/index.d.ts","import":"./dist/ckeditor/index.js"},"./prosemirror":{"types":"./dist/prosemirror/index.d.ts","import":"./dist/prosemirror/index.js"}},"gitHead":"99a33d6e0bd201ffc48d241448a78dc3a6f286f0","private":false,"scripts":{"prepare":"husky","postpublish":"rm -rf ./package"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d2305f26-0af9-47cd-89e4-388627c99a35"}},"repository":{"url":"git+https://github.com/ammil-industries/writetrack.git","type":"git"},"_npmVersion":"11.11.1","description":"Lightweight keystroke dynamics capture for web applications","directories":{},"sideEffects":["./dist/tinymce/index.js","./src/tinymce/index.ts"],"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"peerDependencies":{"vue":">=3.0.0","quill":">=2.0.0","react":">=17.0.0","slate":">=0.94.0","lexical":">=0.12.0","tinymce":">=6.0.0","ckeditor5":">=42.0.0","@tiptap/core":">=2.0.0","prosemirror-view":">=1.0.0","prosemirror-state":">=1.0.0","@observablehq/plot":"^0.6.0"},"peerDependenciesMeta":{"vue":{"optional":true},"quill":{"optional":true},"react":{"optional":true},"slate":{"optional":true},"lexical":{"optional":true},"tinymce":{"optional":true},"ckeditor5":{"optional":true},"@tiptap/core":{"optional":true},"prosemirror-view":{"optional":true},"prosemirror-state":{"optional":true},"@observablehq/plot":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/writetrack_0.12.1_1775712260973_0.17421883404392013","host":"s3://npm-registry-packages-npm-production"}},"0.12.2":{"name":"writetrack","version":"0.12.2","keywords":["keystroke","biometrics","authenticity-validation","human-verification","typing-analysis","behavioral-analysis","security"],"author":{"name":"ammil industries"},"license":"SEE LICENSE IN LICENSE","_id":"writetrack@0.12.2","maintainers":[{"name":"ammil.industries","email":"admin@ammil.industries"}],"homepage":"https://writetrack.dev","bugs":{"url":"https://github.com/ammil-industries/writetrack/issues"},"bin":{"writetrack":"cli/init.js"},"dist":{"shasum":"655766cd9b5234c2b0e07e92a75a30033c7ab1cc","tarball":"https://registry.npmjs.org/writetrack/-/writetrack-0.12.2.tgz","fileCount":42,"integrity":"sha512-pIRHYGWAAjXptYT0TbZj85H7YnWJy+vaAQsLYVxVij9yVNmeu3hpBaMIROAtpYgZlUaLfnlbZX5qiy0oT7gcPA==","signatures":[{"sig":"MEQCIDdvOnFE5m5IMv0fW5OH5wQXB4B2POnEyaXTHRGCHjyUAiAKukBDZVnIcQ7ormTMXBByNsishju61AgGFI0scT+R+A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1694830},"main":"dist/index.cjs","type":"module","types":"dist/esm/index.d.ts","module":"dist/esm/index.js","browser":"dist/browser/index.js","exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","browser":"./dist/browser/index.js","require":"./dist/index.cjs"},"./viz":{"types":"./dist/esm/viz.d.ts","import":"./dist/esm/viz.js","browser":"./dist/browser/viz.js","require":"./dist/viz.cjs"},"./vue":{"types":"./dist/vue/index.d.ts","import":"./dist/vue/index.js"},"./pipes":{"types":"./dist/esm/pipes.d.ts","import":"./dist/esm/pipes.js","browser":"./dist/browser/pipes.js","require":"./dist/pipes.cjs"},"./quill":{"types":"./dist/quill/index.d.ts","import":"./dist/quill/index.js"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js"},"./slate":{"types":"./dist/slate/index.d.ts","import":"./dist/slate/index.js"},"./tiptap":{"types":"./dist/tiptap/index.d.ts","import":"./dist/tiptap/index.js"},"./verify":{"types":"./dist/esm/verify.d.ts","import":"./dist/esm/verify.js","require":"./dist/verify.cjs"},"./browser":{"types":"./dist/esm/index.d.ts","import":"./dist/browser/index.js"},"./lexical":{"types":"./dist/lexical/index.d.ts","import":"./dist/lexical/index.js"},"./testing":{"types":"./dist/esm/testing.d.ts","import":"./dist/esm/testing.js"},"./tinymce":{"types":"./dist/tinymce/index.d.ts","import":"./dist/tinymce/index.js"},"./ckeditor":{"types":"./dist/ckeditor/index.d.ts","import":"./dist/ckeditor/index.js"},"./prosemirror":{"types":"./dist/prosemirror/index.d.ts","import":"./dist/prosemirror/index.js"}},"gitHead":"3f0c866122147404158c459421980fb1c467267f","private":false,"scripts":{"prepare":"husky","postpublish":"rm -rf ./package"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d2305f26-0af9-47cd-89e4-388627c99a35"}},"repository":{"url":"git+https://github.com/ammil-industries/writetrack.git","type":"git"},"_npmVersion":"11.11.1","description":"Lightweight keystroke dynamics capture for web applications","directories":{},"sideEffects":["./dist/tinymce/index.js","./src/tinymce/index.ts"],"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"peerDependencies":{"vue":">=3.0.0","quill":">=2.0.0","react":">=17.0.0","slate":">=0.94.0","lexical":">=0.12.0","tinymce":">=6.0.0","ckeditor5":">=42.0.0","@tiptap/core":">=2.0.0","prosemirror-view":">=1.0.0","prosemirror-state":">=1.0.0","@observablehq/plot":"^0.6.0"},"peerDependenciesMeta":{"vue":{"optional":true},"quill":{"optional":true},"react":{"optional":true},"slate":{"optional":true},"lexical":{"optional":true},"tinymce":{"optional":true},"ckeditor5":{"optional":true},"@tiptap/core":{"optional":true},"prosemirror-view":{"optional":true},"prosemirror-state":{"optional":true},"@observablehq/plot":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/writetrack_0.12.2_1775802306217_0.5786656284335732","host":"s3://npm-registry-packages-npm-production"}},"0.13.0":{"name":"writetrack","version":"0.13.0","keywords":["keystroke","biometrics","authenticity-validation","human-verification","typing-analysis","behavioral-analysis","security"],"author":{"name":"ammil industries"},"license":"SEE LICENSE IN LICENSE","_id":"writetrack@0.13.0","maintainers":[{"name":"ammil.industries","email":"admin@ammil.industries"}],"homepage":"https://writetrack.dev","bugs":{"url":"https://github.com/ammil-industries/writetrack/issues"},"bin":{"writetrack":"cli/init.js"},"dist":{"shasum":"b013844f13ad13624118dae124cfb1c9ba66bcda","tarball":"https://registry.npmjs.org/writetrack/-/writetrack-0.13.0.tgz","fileCount":42,"integrity":"sha512-TkMRbbQ2uLtL1A2QthkcXl6JrbjnAU+ZaUh5l63HFmDh13wZtSLsnqJDlhu+0WtQRsjmVV3OMpfBGuu2/iLRow==","signatures":[{"sig":"MEQCIEdOa/SngFctJICR+FDdMlwASQQHlbQY1Ki6w792n3ZPAiAAoYJ4rhVPSsSRvi4cbks3O48ifLylUZGiC2ZepqaLcg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1718453},"main":"dist/index.cjs","type":"module","types":"dist/esm/index.d.ts","module":"dist/esm/index.js","browser":"dist/browser/index.js","exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","browser":"./dist/browser/index.js","require":"./dist/index.cjs"},"./viz":{"types":"./dist/esm/viz.d.ts","import":"./dist/esm/viz.js","browser":"./dist/browser/viz.js","require":"./dist/viz.cjs"},"./vue":{"types":"./dist/vue/index.d.ts","import":"./dist/vue/index.js"},"./pipes":{"types":"./dist/esm/pipes.d.ts","import":"./dist/esm/pipes.js","browser":"./dist/browser/pipes.js","require":"./dist/pipes.cjs"},"./quill":{"types":"./dist/quill/index.d.ts","import":"./dist/quill/index.js"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js"},"./slate":{"types":"./dist/slate/index.d.ts","import":"./dist/slate/index.js"},"./tiptap":{"types":"./dist/tiptap/index.d.ts","import":"./dist/tiptap/index.js"},"./verify":{"types":"./dist/esm/verify.d.ts","import":"./dist/esm/verify.js","require":"./dist/verify.cjs"},"./browser":{"types":"./dist/esm/index.d.ts","import":"./dist/browser/index.js"},"./lexical":{"types":"./dist/lexical/index.d.ts","import":"./dist/lexical/index.js"},"./testing":{"types":"./dist/esm/testing.d.ts","import":"./dist/esm/testing.js"},"./tinymce":{"types":"./dist/tinymce/index.d.ts","import":"./dist/tinymce/index.js"},"./ckeditor":{"types":"./dist/ckeditor/index.d.ts","import":"./dist/ckeditor/index.js"},"./prosemirror":{"types":"./dist/prosemirror/index.d.ts","import":"./dist/prosemirror/index.js"}},"gitHead":"69fc382e4d9ec37a531196cb58ae11adb08b250f","private":false,"scripts":{"prepare":"husky","postpublish":"rm -rf ./package"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d2305f26-0af9-47cd-89e4-388627c99a35"}},"repository":{"url":"git+https://github.com/ammil-industries/writetrack.git","type":"git"},"_npmVersion":"11.11.1","description":"Lightweight keystroke dynamics capture for web applications","directories":{},"sideEffects":["./dist/tinymce/index.js","./src/tinymce/index.ts"],"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"peerDependencies":{"vue":">=3.0.0","quill":">=2.0.0","react":">=17.0.0","slate":">=0.94.0","lexical":">=0.12.0","tinymce":">=6.0.0","ckeditor5":">=42.0.0","@tiptap/core":">=2.0.0","prosemirror-view":">=1.0.0","prosemirror-state":">=1.0.0","@observablehq/plot":"^0.6.0"},"peerDependenciesMeta":{"vue":{"optional":true},"quill":{"optional":true},"react":{"optional":true},"slate":{"optional":true},"lexical":{"optional":true},"tinymce":{"optional":true},"ckeditor5":{"optional":true},"@tiptap/core":{"optional":true},"prosemirror-view":{"optional":true},"prosemirror-state":{"optional":true},"@observablehq/plot":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/writetrack_0.13.0_1776556434067_0.5944476246780157","host":"s3://npm-registry-packages-npm-production"}},"0.14.0":{"name":"writetrack","version":"0.14.0","keywords":["keystroke","biometrics","authenticity-validation","human-verification","typing-analysis","behavioral-analysis","security"],"author":{"name":"ammil industries"},"license":"SEE LICENSE IN LICENSE","_id":"writetrack@0.14.0","maintainers":[{"name":"ammil.industries","email":"admin@ammil.industries"}],"homepage":"https://writetrack.dev","bugs":{"url":"https://github.com/ammil-industries/writetrack/issues"},"bin":{"writetrack":"cli/init.js"},"dist":{"shasum":"7885c64c505b3e919756c4bfebeebcd3de03d9ab","tarball":"https://registry.npmjs.org/writetrack/-/writetrack-0.14.0.tgz","fileCount":42,"integrity":"sha512-7YBGFCbqiNmmsv9rE7sv8uUZkJStQq17NJVot4ncSNA8xvrtcarBnIX2IiEy4ABtrJUYnBHljI0/GxA48LdP7w==","signatures":[{"sig":"MEYCIQCMcUJFh/FTcphPxL+RE2VdPLlZ3JPVNKHo/niaUhrsVwIhAJMRCoIMaNfHLMJwoo/hRImK5nDCIGLo13FeDUAGcG5u","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1756834},"main":"dist/index.cjs","type":"module","types":"dist/esm/index.d.ts","module":"dist/esm/index.js","browser":"dist/browser/index.js","exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","browser":"./dist/browser/index.js","require":"./dist/index.cjs"},"./viz":{"types":"./dist/esm/viz.d.ts","import":"./dist/esm/viz.js","browser":"./dist/browser/viz.js","require":"./dist/viz.cjs"},"./vue":{"types":"./dist/vue/index.d.ts","import":"./dist/vue/index.js"},"./pipes":{"types":"./dist/esm/pipes.d.ts","import":"./dist/esm/pipes.js","browser":"./dist/browser/pipes.js","require":"./dist/pipes.cjs"},"./quill":{"types":"./dist/quill/index.d.ts","import":"./dist/quill/index.js"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js"},"./slate":{"types":"./dist/slate/index.d.ts","import":"./dist/slate/index.js"},"./tiptap":{"types":"./dist/tiptap/index.d.ts","import":"./dist/tiptap/index.js"},"./verify":{"types":"./dist/esm/verify.d.ts","import":"./dist/esm/verify.js","require":"./dist/verify.cjs"},"./browser":{"types":"./dist/esm/index.d.ts","import":"./dist/browser/index.js"},"./lexical":{"types":"./dist/lexical/index.d.ts","import":"./dist/lexical/index.js"},"./testing":{"types":"./dist/esm/testing.d.ts","import":"./dist/esm/testing.js"},"./tinymce":{"types":"./dist/tinymce/index.d.ts","import":"./dist/tinymce/index.js"},"./ckeditor":{"types":"./dist/ckeditor/index.d.ts","import":"./dist/ckeditor/index.js"},"./prosemirror":{"types":"./dist/prosemirror/index.d.ts","import":"./dist/prosemirror/index.js"}},"gitHead":"0227fc2e071a2efbfbbf4c3d21d5309976f81719","private":false,"scripts":{"prepare":"husky","postpublish":"rm -rf ./package"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d2305f26-0af9-47cd-89e4-388627c99a35"}},"repository":{"url":"git+https://github.com/ammil-industries/writetrack.git","type":"git"},"_npmVersion":"11.11.1","description":"Lightweight keystroke dynamics capture for web applications","directories":{},"sideEffects":["./dist/tinymce/index.js","./src/tinymce/index.ts"],"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"peerDependencies":{"vue":">=3.0.0","quill":">=2.0.0","react":">=17.0.0","slate":">=0.94.0","lexical":">=0.12.0","tinymce":">=6.0.0","ckeditor5":">=42.0.0","@tiptap/core":">=2.0.0","prosemirror-view":">=1.0.0","prosemirror-state":">=1.0.0","@observablehq/plot":"^0.6.0"},"peerDependenciesMeta":{"vue":{"optional":true},"quill":{"optional":true},"react":{"optional":true},"slate":{"optional":true},"lexical":{"optional":true},"tinymce":{"optional":true},"ckeditor5":{"optional":true},"@tiptap/core":{"optional":true},"prosemirror-view":{"optional":true},"prosemirror-state":{"optional":true},"@observablehq/plot":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/writetrack_0.14.0_1777525781767_0.8730351803706873","host":"s3://npm-registry-packages-npm-production"}},"0.14.1":{"name":"writetrack","version":"0.14.1","keywords":["keystroke","biometrics","authenticity-validation","human-verification","typing-analysis","behavioral-analysis","security"],"author":{"name":"ammil industries"},"license":"SEE LICENSE IN LICENSE","_id":"writetrack@0.14.1","maintainers":[{"name":"ammil.industries","email":"admin@ammil.industries"}],"homepage":"https://writetrack.dev","bugs":{"url":"https://github.com/ammil-industries/writetrack/issues"},"bin":{"writetrack":"cli/init.js"},"dist":{"shasum":"47fdd85dbc2610bd43c127a96b9b502fba5a135b","tarball":"https://registry.npmjs.org/writetrack/-/writetrack-0.14.1.tgz","fileCount":60,"integrity":"sha512-Z+mTTMIxu6Ld6klJ4z18YoXNCz+HxF7e1pk8eSFucR8kCBYMp/GP6tjVdex0xAxSkUy9ypwPqlrmt5/PgBBbeA==","signatures":[{"sig":"MEUCIQDoodFdHRR/ZkLCiEA553BZvWkU/qoASbbc5Jm6twypbAIgQn+4EiYX3+Qsz4NRy06cJ1rWjR7VK7nup1aUEEPPRSk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1852484},"main":"dist/index.cjs","type":"module","types":"dist/esm/index.d.ts","module":"dist/esm/index.js","browser":"dist/browser/index.js","exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","browser":"./dist/browser/index.js","require":"./dist/index.cjs"},"./viz":{"types":"./dist/esm/viz.d.ts","import":"./dist/esm/viz.js","browser":"./dist/browser/viz.js","require":"./dist/viz.cjs"},"./vue":{"types":"./dist/vue/index.d.ts","import":"./dist/vue/index.js"},"./pipes":{"types":"./dist/esm/pipes.d.ts","import":"./dist/esm/pipes.js","browser":"./dist/browser/pipes.js","require":"./dist/pipes.cjs"},"./quill":{"types":"./dist/quill/index.d.ts","import":"./dist/quill/index.js"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js"},"./slate":{"types":"./dist/slate/index.d.ts","import":"./dist/slate/index.js"},"./tiptap":{"types":"./dist/tiptap/index.d.ts","import":"./dist/tiptap/index.js"},"./verify":{"types":"./dist/esm/verify.d.ts","import":"./dist/esm/verify.js","require":"./dist/verify.cjs"},"./browser":{"types":"./dist/esm/index.d.ts","import":"./dist/browser/index.js"},"./lexical":{"types":"./dist/lexical/index.d.ts","import":"./dist/lexical/index.js"},"./testing":{"types":"./dist/esm/testing.d.ts","import":"./dist/esm/testing.js"},"./tinymce":{"types":"./dist/tinymce/index.d.ts","import":"./dist/tinymce/index.js"},"./ckeditor":{"types":"./dist/ckeditor/index.d.ts","import":"./dist/ckeditor/index.js"},"./prosemirror":{"types":"./dist/prosemirror/index.d.ts","import":"./dist/prosemirror/index.js"}},"gitHead":"fd66f19171903130f078069d2c6fa3e03a13ee37","private":false,"scripts":{"prepare":"husky","postpublish":"rm -rf ./package"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d2305f26-0af9-47cd-89e4-388627c99a35"}},"repository":{"url":"git+https://github.com/ammil-industries/writetrack.git","type":"git"},"_npmVersion":"11.11.1","description":"Lightweight keystroke dynamics capture for web applications","directories":{},"sideEffects":["./dist/tinymce/index.js","./src/tinymce/index.ts"],"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"peerDependencies":{"vue":">=3.0.0","quill":">=2.0.0","react":">=17.0.0","slate":">=0.94.0","lexical":">=0.12.0","tinymce":">=6.0.0","ckeditor5":">=42.0.0","@tiptap/core":">=2.0.0","prosemirror-view":">=1.0.0","prosemirror-state":">=1.0.0","@observablehq/plot":"^0.6.0"},"peerDependenciesMeta":{"vue":{"optional":true},"quill":{"optional":true},"react":{"optional":true},"slate":{"optional":true},"lexical":{"optional":true},"tinymce":{"optional":true},"ckeditor5":{"optional":true},"@tiptap/core":{"optional":true},"prosemirror-view":{"optional":true},"prosemirror-state":{"optional":true},"@observablehq/plot":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/writetrack_0.14.1_1778795837730_0.6268485170098237","host":"s3://npm-registry-packages-npm-production"}},"0.15.0":{"name":"writetrack","version":"0.15.0","keywords":["keystroke","biometrics","authenticity-validation","human-verification","typing-analysis","behavioral-analysis","security"],"author":{"name":"ammil industries"},"license":"SEE LICENSE IN LICENSE","_id":"writetrack@0.15.0","maintainers":[{"name":"ammil.industries","email":"admin@ammil.industries"}],"homepage":"https://writetrack.dev","bugs":{"url":"https://github.com/ammil-industries/writetrack/issues"},"bin":{"writetrack":"cli/init.js"},"dist":{"shasum":"9342b292cb605679042eb66adb21063426335572","tarball":"https://registry.npmjs.org/writetrack/-/writetrack-0.15.0.tgz","fileCount":61,"integrity":"sha512-znv2hV5f6AjpMyzsBevBwjCCUeV6VXZ8b8l9ioE8yCANgzH7drlELcIbcXWaT5HRD3wbi6eL34CSjhqd6wlhNQ==","signatures":[{"sig":"MEYCIQDRkb1cBgovXCBqcdHFGq3WBZKj/Za0rEvdgtNMmVJcLAIhAPIv7aOzY9QvRd1dJOm9TyCyENqPRumSqlayX4m01PZO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1871542},"main":"dist/index.cjs","type":"module","types":"dist/esm/index.d.ts","module":"dist/esm/index.js","browser":"dist/browser/index.js","exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","browser":"./dist/browser/index.js","require":"./dist/index.cjs"},"./viz":{"types":"./dist/esm/viz.d.ts","import":"./dist/esm/viz.js","browser":"./dist/browser/viz.js","require":"./dist/viz.cjs"},"./vue":{"types":"./dist/vue/index.d.ts","import":"./dist/vue/index.js"},"./pipes":{"types":"./dist/esm/pipes.d.ts","import":"./dist/esm/pipes.js","browser":"./dist/browser/pipes.js","require":"./dist/pipes.cjs"},"./quill":{"types":"./dist/quill/index.d.ts","import":"./dist/quill/index.js"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js"},"./slate":{"types":"./dist/slate/index.d.ts","import":"./dist/slate/index.js"},"./tiptap":{"types":"./dist/tiptap/index.d.ts","import":"./dist/tiptap/index.js"},"./verify":{"types":"./dist/esm/verify.d.ts","import":"./dist/esm/verify.js","require":"./dist/verify.cjs"},"./browser":{"types":"./dist/esm/index.d.ts","import":"./dist/browser/index.js"},"./lexical":{"types":"./dist/lexical/index.d.ts","import":"./dist/lexical/index.js"},"./testing":{"types":"./dist/esm/testing.d.ts","import":"./dist/esm/testing.js"},"./tinymce":{"types":"./dist/tinymce/index.d.ts","import":"./dist/tinymce/index.js"},"./ckeditor":{"types":"./dist/ckeditor/index.d.ts","import":"./dist/ckeditor/index.js"},"./prosemirror":{"types":"./dist/prosemirror/index.d.ts","import":"./dist/prosemirror/index.js"}},"gitHead":"cedf8f4dc09b74ada397a87d9797f1565265f58b","private":false,"scripts":{"prepare":"husky","postpublish":"rm -rf ./package"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d2305f26-0af9-47cd-89e4-388627c99a35"}},"repository":{"url":"git+https://github.com/ammil-industries/writetrack.git","type":"git"},"_npmVersion":"11.11.1","description":"Lightweight keystroke dynamics capture for web applications","directories":{},"sideEffects":["./dist/tinymce/index.js","./src/tinymce/index.ts"],"_nodeVersion":"22.22.3","_hasShrinkwrap":false,"peerDependencies":{"vue":">=3.0.0","quill":">=2.0.0","react":">=17.0.0","slate":">=0.94.0","lexical":">=0.12.0","tinymce":">=6.0.0","ckeditor5":">=42.0.0","@tiptap/core":">=2.0.0","prosemirror-view":">=1.0.0","prosemirror-state":">=1.0.0","@observablehq/plot":"^0.6.0"},"peerDependenciesMeta":{"vue":{"optional":true},"quill":{"optional":true},"react":{"optional":true},"slate":{"optional":true},"lexical":{"optional":true},"tinymce":{"optional":true},"ckeditor5":{"optional":true},"@tiptap/core":{"optional":true},"prosemirror-view":{"optional":true},"prosemirror-state":{"optional":true},"@observablehq/plot":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/writetrack_0.15.0_1781327533826_0.021574141247131307","host":"s3://npm-registry-packages-npm-production"}},"0.16.0":{"name":"writetrack","version":"0.16.0","keywords":["keystroke","biometrics","authenticity-validation","human-verification","typing-analysis","behavioral-analysis","security"],"author":{"name":"ammil industries"},"license":"SEE LICENSE IN LICENSE","_id":"writetrack@0.16.0","maintainers":[{"name":"ammil.industries","email":"admin@ammil.industries"}],"homepage":"https://writetrack.dev","bugs":{"url":"https://github.com/ammil-industries/writetrack/issues"},"bin":{"writetrack":"cli/init.js"},"dist":{"shasum":"d4a4fba0a8cb69aec1d8a1e994a114ef20eefceb","tarball":"https://registry.npmjs.org/writetrack/-/writetrack-0.16.0.tgz","fileCount":61,"integrity":"sha512-G9Cv+J61CXgIDkMN6/S+zTyca51jStPuYrL+f0BHGZaMRZYxrh6xDHMNTu7uLQSXgzL3EjQcWeeHlmqjHni4vg==","signatures":[{"sig":"MEUCIFZ++rF1Yigl5xmLF6gVWgtvUmei1o3WO6pRinH7gsrPAiEA6JHslYEoAL2jUfr31SLrqp98CICu6T55fU7Z9KThihg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1896235},"main":"dist/index.cjs","type":"module","types":"dist/esm/index.d.ts","module":"dist/esm/index.js","browser":"dist/browser/index.js","exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","browser":"./dist/browser/index.js","require":"./dist/index.cjs"},"./viz":{"types":"./dist/esm/viz.d.ts","import":"./dist/esm/viz.js","browser":"./dist/browser/viz.js","require":"./dist/viz.cjs"},"./vue":{"types":"./dist/vue/index.d.ts","import":"./dist/vue/index.js"},"./pipes":{"types":"./dist/esm/pipes.d.ts","import":"./dist/esm/pipes.js","browser":"./dist/browser/pipes.js","require":"./dist/pipes.cjs"},"./quill":{"types":"./dist/quill/index.d.ts","import":"./dist/quill/index.js"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js"},"./slate":{"types":"./dist/slate/index.d.ts","import":"./dist/slate/index.js"},"./tiptap":{"types":"./dist/tiptap/index.d.ts","import":"./dist/tiptap/index.js"},"./verify":{"types":"./dist/esm/verify.d.ts","import":"./dist/esm/verify.js","require":"./dist/verify.cjs"},"./browser":{"types":"./dist/esm/index.d.ts","import":"./dist/browser/index.js"},"./lexical":{"types":"./dist/lexical/index.d.ts","import":"./dist/lexical/index.js"},"./testing":{"types":"./dist/esm/testing.d.ts","import":"./dist/esm/testing.js"},"./tinymce":{"types":"./dist/tinymce/index.d.ts","import":"./dist/tinymce/index.js"},"./ckeditor":{"types":"./dist/ckeditor/index.d.ts","import":"./dist/ckeditor/index.js"},"./prosemirror":{"types":"./dist/prosemirror/index.d.ts","import":"./dist/prosemirror/index.js"}},"gitHead":"b1490f4a50c7d6eea497dc1eb7b18a08cd62c026","private":false,"scripts":{"prepare":"husky","postpublish":"rm -rf ./package"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d2305f26-0af9-47cd-89e4-388627c99a35"}},"repository":{"url":"git+https://github.com/ammil-industries/writetrack.git","type":"git"},"_npmVersion":"11.11.1","description":"Lightweight keystroke dynamics capture for web applications","directories":{},"sideEffects":["./dist/tinymce/index.js","./src/tinymce/index.ts"],"_nodeVersion":"22.23.1","_hasShrinkwrap":false,"peerDependencies":{"vue":">=3.0.0","quill":">=2.0.0","react":">=17.0.0","slate":">=0.94.0","lexical":">=0.12.0","tinymce":">=6.0.0","ckeditor5":">=42.0.0","@tiptap/core":">=2.0.0","prosemirror-view":">=1.0.0","prosemirror-state":">=1.0.0","@observablehq/plot":"^0.6.0"},"peerDependenciesMeta":{"vue":{"optional":true},"quill":{"optional":true},"react":{"optional":true},"slate":{"optional":true},"lexical":{"optional":true},"tinymce":{"optional":true},"ckeditor5":{"optional":true},"@tiptap/core":{"optional":true},"prosemirror-view":{"optional":true},"prosemirror-state":{"optional":true},"@observablehq/plot":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/writetrack_0.16.0_1785199245751_0.7502656600245357","host":"s3://npm-registry-packages-npm-production"}},"0.17.0":{"name":"writetrack","version":"0.17.0","private":false,"description":"Lightweight keystroke dynamics capture for web applications","main":"dist/index.cjs","module":"dist/esm/index.js","types":"dist/esm/index.d.ts","browser":"dist/browser/index.js","type":"module","exports":{".":{"types":"./dist/esm/index.d.ts","browser":"./dist/browser/index.js","import":"./dist/esm/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js"},"./vue":{"types":"./dist/vue/index.d.ts","import":"./dist/vue/index.js"},"./tiptap":{"types":"./dist/tiptap/index.d.ts","import":"./dist/tiptap/index.js"},"./ckeditor":{"types":"./dist/ckeditor/index.d.ts","import":"./dist/ckeditor/index.js"},"./prosemirror":{"types":"./dist/prosemirror/index.d.ts","import":"./dist/prosemirror/index.js"},"./quill":{"types":"./dist/quill/index.d.ts","import":"./dist/quill/index.js"},"./lexical":{"types":"./dist/lexical/index.d.ts","import":"./dist/lexical/index.js"},"./slate":{"types":"./dist/slate/index.d.ts","import":"./dist/slate/index.js"},"./tinymce":{"types":"./dist/tinymce/index.d.ts","import":"./dist/tinymce/index.js"},"./browser":{"types":"./dist/esm/index.d.ts","import":"./dist/browser/index.js"},"./pipes":{"types":"./dist/esm/pipes.d.ts","browser":"./dist/browser/pipes.js","import":"./dist/esm/pipes.js","require":"./dist/pipes.cjs"},"./verify":{"types":"./dist/esm/verify.d.ts","import":"./dist/esm/verify.js","require":"./dist/verify.cjs"},"./viz":{"types":"./dist/esm/viz.d.ts","browser":"./dist/browser/viz.js","import":"./dist/esm/viz.js","require":"./dist/viz.cjs"},"./testing":{"types":"./dist/esm/testing.d.ts","import":"./dist/esm/testing.js"}},"peerDependencies":{"@observablehq/plot":"^0.6.0","@tiptap/core":">=2.0.0","ckeditor5":">=42.0.0","lexical":">=0.12.0","prosemirror-state":">=1.0.0","prosemirror-view":">=1.0.0","quill":">=2.0.0","react":">=17.0.0","slate":">=0.94.0","tinymce":">=6.0.0","vue":">=3.0.0"},"peerDependenciesMeta":{"@observablehq/plot":{"optional":true},"react":{"optional":true},"vue":{"optional":true},"@tiptap/core":{"optional":true},"ckeditor5":{"optional":true},"prosemirror-state":{"optional":true},"prosemirror-view":{"optional":true},"quill":{"optional":true},"lexical":{"optional":true},"slate":{"optional":true},"tinymce":{"optional":true}},"bin":{"writetrack":"cli/init.js"},"sideEffects":["./dist/tinymce/index.js","./src/tinymce/index.ts"],"scripts":{"postpublish":"rm -rf ./package","prepare":"husky"},"keywords":["keystroke","biometrics","authenticity-validation","human-verification","typing-analysis","behavioral-analysis","security"],"author":{"name":"ammil industries"},"license":"SEE LICENSE IN LICENSE","repository":{"type":"git","url":"git+https://github.com/ammil-industries/writetrack.git"},"homepage":"https://writetrack.dev","bugs":{"url":"https://github.com/ammil-industries/writetrack/issues"},"gitHead":"ed986c8b4b0e1702f5a90f9b185b22913ee939e4","_id":"writetrack@0.17.0","_nodeVersion":"22.23.1","_npmVersion":"11.11.1","dist":{"integrity":"sha512-Vp7OK1P0GgAOVdOEibkZndVBYr+omnGbRXLYz3BHGvA+RZtkPQjOKwJkRlJSs+/taBDnC9gxfGZThZylx3N+JQ==","shasum":"af6891062b233a354fbd5b97c76a5c3b00222f2b","tarball":"https://registry.npmjs.org/writetrack/-/writetrack-0.17.0.tgz","fileCount":62,"unpackedSize":1970643,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDyLU7B8Oz/AjLgi7zx2aokeolimApT6A97DVHvPWBgHwIhAL/8IunYSkq9RESsJ+OVxH6x3kFWXm+vSQHr30plzx5R"}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d2305f26-0af9-47cd-89e4-388627c99a35"}},"directories":{},"maintainers":[{"name":"ammil.industries","email":"admin@ammil.industries"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/writetrack_0.17.0_1786139673912_0.6017208028521182"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-07T01:19:17.618Z","modified":"2026-08-07T21:54:34.279Z","0.1.0":"2026-02-07T01:19:17.887Z","0.2.1":"2026-02-07T03:14:36.449Z","0.3.0":"2026-02-14T01:15:28.505Z","0.3.1":"2026-02-14T01:25:40.030Z","0.4.0":"2026-02-16T05:51:33.033Z","0.4.1":"2026-02-16T06:22:39.199Z","0.4.2":"2026-02-16T07:12:13.959Z","0.4.3":"2026-02-16T07:23:27.244Z","0.5.0":"2026-03-06T01:25:18.743Z","0.6.0":"2026-03-08T04:55:48.112Z","0.6.1":"2026-03-09T17:26:17.103Z","0.7.0":"2026-03-15T23:37:46.455Z","0.8.0":"2026-03-18T06:25:12.217Z","0.9.0":"2026-03-20T08:13:04.058Z","0.9.1":"2026-03-24T07:22:00.107Z","0.10.0":"2026-03-26T02:14:20.729Z","0.10.1":"2026-03-26T04:25:16.145Z","0.10.2":"2026-03-26T06:13:17.062Z","0.10.3":"2026-03-26T06:27:15.877Z","0.11.0":"2026-04-01T08:45:25.905Z","0.12.0":"2026-04-08T06:28:04.273Z","0.12.1":"2026-04-09T05:24:21.213Z","0.12.2":"2026-04-10T06:25:06.378Z","0.13.0":"2026-04-18T23:53:54.211Z","0.14.0":"2026-04-30T05:09:42.006Z","0.14.1":"2026-05-14T21:57:17.910Z","0.15.0":"2026-06-13T05:12:14.040Z","0.16.0":"2026-07-28T00:40:46.041Z","0.17.0":"2026-08-07T21:54:34.120Z"},"bugs":{"url":"https://github.com/ammil-industries/writetrack/issues"},"author":{"name":"ammil industries"},"license":"SEE LICENSE IN LICENSE","homepage":"https://writetrack.dev","keywords":["keystroke","biometrics","authenticity-validation","human-verification","typing-analysis","behavioral-analysis","security"],"repository":{"type":"git","url":"git+https://github.com/ammil-industries/writetrack.git"},"description":"Lightweight keystroke dynamics capture for web applications","maintainers":[{"name":"ammil.industries","email":"admin@ammil.industries"}],"readme":"# WriteTrack\n\nDetect AI-generated and pasted content in any text input — at the point of entry, before submission.\n\nWriteTrack is an embeddable SDK that captures keystroke timing, rhythm, corrections, clipboard, and composition events as users type, then surfaces a behavioral analysis suitable for AI-content detection, assessment scoring, and compliance evidence. Runs entirely client-side; ships analysis as WASM; embeds into any text input or rich-text editor.\n\n- **~145KB** gzipped (24KB JS + 121KB WASM)\n- **0** runtime dependencies\n- **<1ms** per keystroke\n- **100%** client-side\n\n## Installation\n\n```bash\nnpm install writetrack\n```\n\nOptionally, register for a free trial license:\n\n```bash\nnpx writetrack init  # starts a 28-day trial and writes the key to .env\n```\n\nA license is required for production domains. On `localhost`, all features work without a license key.\n\n## Quick Start\n\n```typescript\nimport { WriteTrack } from 'writetrack';\n\nconst responseField = document.getElementById('response-field')!;\nconst tracker = new WriteTrack({\n  target: responseField,\n});\n\ntracker.start();\n\n// User types...\n\n// Collect captured data\nconst data = tracker.getData();\nconst analysis = await tracker.getAnalysis();\n\ntracker.stop();\n```\n\nWorks with any text input, textarea, or contenteditable element. TypeScript definitions included.\n\n> **Note:** WriteTrack uses WASM, which requires an HTTP server — `file://` won't work. Any bundler (Vite, webpack, etc.) handles this automatically. For a no-bundler setup, see the [vanilla JS guide](https://writetrack.dev/docs/vanilla-js/).\n\n### React / Next.js\n\n```tsx\nimport { useRef } from 'react';\nimport { useWriteTrack } from 'writetrack/react';\n\nfunction ResponseForm() {\n  const textareaRef = useRef<HTMLTextAreaElement>(null);\n  const { tracker } = useWriteTrack(textareaRef);\n\n  const handleSubmit = async (e: React.FormEvent) => {\n    e.preventDefault();\n    if (tracker) {\n      const data = tracker.getData();\n      const analysis = await tracker.getAnalysis();\n      console.log('Session:', data.quality, analysis);\n    }\n  };\n\n  return (\n    <form onSubmit={handleSubmit}>\n      <textarea ref={textareaRef} rows={10} />\n      <button type=\"submit\">Submit</button>\n    </form>\n  );\n}\n```\n\nFor App Router, Server Actions, and dev-mode WASM setup, see the [Next.js guide](https://writetrack.dev/docs/nextjs/).\n\n## Production\n\nAdd your license key to enable analysis on production domains:\n\n```typescript\nconst tracker = new WriteTrack({\n  target: textarea,\n  license: process.env.WRITETRACK_LICENSE_KEY,\n});\n```\n\nOn `localhost`, all features work without a key. See the [licensing guide](https://writetrack.dev/docs/license/) for trial setup, domain binding, and expiration details.\n\n## Framework Integrations\n\nBindings available as subpath exports:\n\n```typescript\nimport { useWriteTrack } from 'writetrack/react';\nimport { useWriteTrack } from 'writetrack/vue';\nimport { WriteTrackExtension } from 'writetrack/tiptap';\nimport { WriteTrackPlugin } from 'writetrack/ckeditor';\nimport { WriteTrackPlugin } from 'writetrack/prosemirror';\nimport { WriteTrackModule } from 'writetrack/quill';\nimport { createWriteTrackLexical } from 'writetrack/lexical';\nimport { createWriteTrackSlate } from 'writetrack/slate';\nimport 'writetrack/tinymce'; // registers native TinyMCE plugin\n```\n\n## Output Sinks\n\nStream session data to your analytics stack via `.pipe()`:\n\n```typescript\nimport { webhook, datadog, segment, opentelemetry } from 'writetrack/pipes';\n\ntracker\n  .pipe(webhook({ url: '/api/writetrack' }))\n  .pipe(datadog({ client: dd }))\n  .pipe(segment({ client: analytics }))\n  .pipe(opentelemetry({ tracer }));\n```\n\n## What It Captures\n\nWriteTrack instruments text inputs and records the behavioral signals behind every keystroke:\n\n- **Timing intervals** — milliseconds between each keystroke\n- **Rhythm variance** — consistency or erratic cadence\n- **Correction patterns** — backspaces, rewrites, hesitation\n- **Clipboard events** — paste, copy, cut with content and context\n- **Selection events** — text selections via mouse, keyboard, or programmatic\n- **Composition events** — IME input for CJK and other non-Latin scripts\n- **Dictation detection** — speech-to-text input identified and reported separately\n\n## What It Produces\n\nWASM-powered analysis returns a `SessionAnalysis` covering seven dimensions:\n\n- **Content origin** — what proportion was typed, pasted, dictated, or autocompleted\n- **Timing authenticity** — rhythm consistency, periodicity, entropy\n- **Revision behavior** — corrections, navigation, undo/redo patterns\n- **Session continuity** — focus changes, tab-aways, session structure\n- **Physical plausibility** — impossible sequences, synthetic event markers\n- **Temporal patterns** — speed over time, warmup/fatigue, burst patterns\n- **Writing process** — planning, drafting, and revision phase segmentation\n\nEach dimension produces a machine-readable indicator code and detailed metrics suitable for visualization.\n\n## Use Cases\n\n**Education** — Give instructors behavioral context alongside submitted work. See whether text was composed or pasted.\n\n**Assessment** — Add a behavioral layer to written responses. Distinguish engaged composition from copy-paste submission.\n\n**Compliance** — Know when form attestations were typed versus pasted.\n\n**Research** — Capture writing process data for studies on composition behavior, revision patterns, and typing fluency.\n\n## API\n\n### Constructor\n\n```typescript\nnew WriteTrack(options: WriteTrackOptions | HTMLElement)\n```\n\n### Options\n\n```typescript\ninterface WriteTrackOptions {\n  target: HTMLElement;\n  license?: string; // Omit for localhost evaluation\n  userId?: string; // Opaque user identifier, included in output metadata\n  contentId?: string; // Opaque document identifier, included in output metadata\n  metadata?: Record<string, unknown>; // Arbitrary metadata, included in output\n  wasmUrl?: string; // Custom URL for the WASM analysis binary\n  persist?: boolean; // Enable IndexedDB persistence (requires contentId)\n  cursorPositionProvider?: () => number; // Custom cursor position for rich-text editors\n  inputSourceProvider?: () => InputSource | undefined; // Input source classification (set by editor integrations)\n}\n```\n\n### Methods\n\n| Method                             | Returns                          | Description                                   |\n| ---------------------------------- | -------------------------------- | --------------------------------------------- |\n| `start()`                          | `void`                           | Begin capturing events                        |\n| `stop()`                           | `void`                           | Stop capturing and clean up                   |\n| `stopAndWait()`                    | `Promise<void>`                  | Stop and wait for pending IndexedDB save      |\n| `getData()`                        | `WriteTrackDataSchema`           | Export full session data                      |\n| `getText()`                        | `string`                         | Current text content                          |\n| `getRawEvents()`                   | `KeystrokeEvent[]`               | All captured keystroke events                 |\n| `getClipboardEvents()`             | `ClipboardEvent[]`               | Paste/copy/cut events                         |\n| `getSelectionEvents()`             | `SelectionEvent[]`               | Text selection events                         |\n| `getUndoRedoEvents()`              | `UndoRedoEvent[]`                | Undo/redo events                              |\n| `getCompositionEvents()`           | `CompositionEvent[]`             | IME composition events                        |\n| `getProgrammaticInsertionEvents()` | `ProgrammaticInsertionEvent[]`   | Programmatic insertion events                 |\n| `getSessionDuration()`             | `number`                         | Session duration in ms                        |\n| `getActiveTime()`                  | `number`                         | Active (visible) session time in ms           |\n| `getKeystrokeCount()`              | `number`                         | Total keystrokes captured                     |\n| `getAnalysis()`                    | `Promise<SessionAnalysis\\|null>` | WASM-powered session analysis                 |\n| `getSessionReport()`               | `Promise<SessionReport>`         | Combined data + analysis                      |\n| `pipe(sink)`                       | `this`                           | Register an output sink                       |\n| `on(event, handler)`               | `() => void`                     | Register event listener (returns unsubscribe) |\n| `isLicenseValid()`                 | `boolean`                        | Whether license is valid                      |\n| `isLicenseValidated()`             | `boolean`                        | Whether license check has completed           |\n| `isTargetDetached()`               | `boolean`                        | Whether the target element was removed        |\n| `clearPersistedData()`             | `Promise<void>`                  | Clear IndexedDB persisted session             |\n\n`getData()` returns a `WriteTrackDataSchema` with four top-level fields: `version`, `metadata` (session context, user/content IDs, custom fields), `session` (raw events and text), and `quality` (completeness score, validation status). See the [API reference](https://writetrack.dev/docs/api-reference#getdata) for the full shape.\n\n### Events\n\nThe `on(event, handler)` method supports the following events:\n\n| Event        | Payload                                                          | Description                                                     |\n| ------------ | ---------------------------------------------------------------- | --------------------------------------------------------------- |\n| `change`     | `{ eventCount: number; keystrokeCount: number }`                 | Fires on any data mutation (keystroke, paste, selection, etc.)  |\n| `tick`       | `{ activeTime: number; totalTime: number; tracker: WriteTrack }` | Fires every ~1s while session is active                         |\n| `analysis`   | `SessionAnalysis`                                                | Fires when analysis updates (lazy-loads WASM on first listener) |\n| `ready`      | _(none)_                                                         | Fires when tracker is ready (late listeners auto-fire)          |\n| `wasm:ready` | _(none)_                                                         | Fires when WASM binary loads successfully                       |\n| `wasm:error` | `Error`                                                          | Fires if WASM binary fails to load                              |\n| `stop`       | _(none)_                                                         | Fires when `stop()` is called                                   |\n| `pipe:error` | `Error, WriteTrackSink`                                          | Fires when an output sink fails                                 |\n\n```typescript\nconst unsub = tracker.on('change', ({ eventCount, keystrokeCount }) => {\n  console.log(`${keystrokeCount} keystrokes, ${eventCount} total events`);\n});\n// Later: unsub();\n```\n\n### Static Methods\n\n| Method                                           | Returns                           | Description                              |\n| ------------------------------------------------ | --------------------------------- | ---------------------------------------- |\n| `WriteTrack.listPersistedSessions()`             | `Promise<PersistedSessionInfo[]>` | List all persisted sessions in IndexedDB |\n| `WriteTrack.deletePersistedSession(key, field?)` | `Promise<void>`                   | Delete persisted session data            |\n\n### Properties\n\n| Property    | Type            | Description                                 |\n| ----------- | --------------- | ------------------------------------------- |\n| `wasmReady` | `boolean`       | Whether WASM module is loaded (getter)      |\n| `ready`     | `Promise<void>` | Resolves when persisted session is restored |\n\n### Working with raw session data\n\nA captured session keeps its events in six parallel arrays (`events`,\n`clipboardEvents`, `selectionEvents`, `undoRedoEvents`,\n`programmaticInsertionEvents`, `compositionEvents`). `timeline()` merges them\ninto one timestamp-sorted, discriminated-union stream. Selection events and\nfocus/visibility records receive distinct kinds; `kind: 'keystroke'` entries\nrepresent key presses.\n\n```typescript\nimport { timeline } from 'writetrack';\n\nconst entries = timeline(tracker.getData().session);\nconst keystrokes = entries.filter((e) => e.kind === 'keystroke');\nconst pastes = entries.filter((e) => e.kind === 'paste');\nconst aiInjected = entries.filter((e) => e.kind === 'programmatic');\n```\n\n| Function            | Returns           | Description                                      |\n| ------------------- | ----------------- | ------------------------------------------------ |\n| `timeline(session)` | `TimelineEntry[]` | All six event arrays merged, sorted by timestamp |\n\n### Server-Side Analysis\n\nAnalyze previously captured data without a DOM element. `analyzeEvents()` accepts either a raw `WriteTrackDataSchema` or a wrapped `{ data, analysis? }` report, so stored `SessionReport` objects can be fed straight back in without hand-unwrapping:\n\n```typescript\nimport { analyzeEvents } from 'writetrack';\n\nconst data = JSON.parse(savedSessionJson); // WriteTrackDataSchema or SessionReport\nconst analysis = await analyzeEvents(data, {\n  license: process.env.WRITETRACK_LICENSE_KEY,\n});\n```\n\n### Analyze on the server, render on the client\n\nThe common middle path: run analysis once on your server, ship the\nresult to the browser, and feed it straight into `<wt-scorecard>`.\n`createSessionReport()` accepts the wrapped `{ data, analysis }` shape\nthat persists naturally, so the browser doesn't have to re-analyze.\n\n```typescript\n// 1. Server — analyze once, return { data, analysis } to the client\nimport { analyzeEvents } from 'writetrack';\n\nconst data = await loadSession(sessionId); // WriteTrackDataSchema\nconst analysis = await analyzeEvents(data, {\n  license: process.env.WRITETRACK_LICENSE_KEY,\n});\nreturn Response.json({ data, analysis });\n```\n\n```typescript\n// 2. Client — wrap into a SessionReport without re-running analysis\nimport { createSessionReport } from 'writetrack';\n\nconst wrapped = await fetch(`/sessions/${id}`).then((r) => r.json());\nconst report = await createSessionReport(wrapped);\n```\n\n```typescript\n// 3. Client — render into <wt-scorecard>\nimport { WtScorecard } from 'writetrack/viz';\nWtScorecard.register();\n\nconst scorecard = document.querySelector('wt-scorecard');\nscorecard.setData(report);\n```\n\n### Analysis Helpers\n\nConvenience functions for extracting commonly needed values from a `SessionAnalysis`:\n\n| Function                              | Returns                                                    | Description                      |\n| ------------------------------------- | ---------------------------------------------------------- | -------------------------------- |\n| `getSessionDurationMs(analysis)`      | `number`                                                   | Session duration in milliseconds |\n| `getTypingSpeed(analysis)`            | `{ cpm: number; wpm: number }`                             | Characters and words per minute  |\n| `getContentOriginBreakdown(analysis)` | `{ typed: number; pasted: number; autocompleted: number }` | Content origin ratios (0-1 each) |\n\n```typescript\nimport { getTypingSpeed, getContentOriginBreakdown } from 'writetrack';\n\nconst analysis = await tracker.getAnalysis();\nif (analysis) {\n  const { wpm } = getTypingSpeed(analysis);\n  const { typed, pasted } = getContentOriginBreakdown(analysis);\n}\n```\n\n### Testing Utilities\n\nThe `writetrack/testing` subpath export provides framework-agnostic factories for creating mock WriteTrack instances and `SessionAnalysis` objects in consumer tests:\n\n```typescript\nimport { createMockAnalysis, createMockTracker } from 'writetrack/testing';\n\nconst analysis = createMockAnalysis({ keydownCount: 500 });\nconst tracker = createMockTracker({ analysis });\n```\n\n| Function                         | Returns           | Description                                        |\n| -------------------------------- | ----------------- | -------------------------------------------------- |\n| `createMockAnalysis(overrides?)` | `SessionAnalysis` | Complete mock analysis with deep-partial overrides |\n| `createMockTracker(options?)`    | `MockWriteTrack`  | Mock tracker with configurable analysis and data   |\n\n### Exported Types\n\nFull type definitions are included in the package:\n\n**Functions:** `analyzeEvents`, `createSessionReport`, `formatIndicator`, `getHighResolutionTime`, `WriteTrackController`\n\n**Types:** `WriteTrackOptions`, `WriteTrackEvents`, `PersistedSessionInfo`, `KeystrokeEvent`, `ClipboardEvent`, `SelectionEvent`, `UndoRedoEvent`, `CompositionEvent`, `ProgrammaticInsertionEvent`, `ModifierState`, `InputSource`, `PasteSource`, `WriteTrackDataSchema`, `DataQualityMetrics`, `SessionMetadata`, `SessionAnalysis`, `SessionReport`, `IndicatorOutput`, `ContentOriginAnalysis`, `TimingAuthenticityAnalysis`, `SessionContinuityAnalysis`, `PhysicalPlausibilityAnalysis`, `RevisionBehaviorAnalysis`, `TemporalPatternsAnalysis`, `WritingProcessAnalysis`, `WritingProcessSegment`, `PhaseTransition`, `WindowFeatures`, `AnalyzeEventsOptions`, `WriteTrackSink`, `WebhookOptions`, `DatadogOptions`, `DatadogClient`, `SegmentOptions`, `SegmentClient`, `OpenTelemetryOptions`, `OTelTracer`, `OTelSpan`, `BaseBindingOptions`, `OnTickData`, `ControllerState`, `ControllerOptions`\n\n## Browser Support\n\n| Browser | Version |\n| ------- | ------- |\n| Chrome  | 90+     |\n| Firefox | 88+     |\n| Safari  | 14+     |\n| Edge    | 90+     |\n\n## Privacy\n\nWriteTrack processes sessions client-side. Event data, including paste content\nand selected text, remains in the browser until the application exports it with\n`getData()` or configures an output sink.\n\n## Documentation\n\nFull documentation at [writetrack.dev/docs](https://writetrack.dev/docs).\n\n## License\n\nSee [LICENSE](LICENSE) for details.\n","readmeFilename":"README.md"}