{"_id":"@appss/sdk-core","_rev":"10-55a0a2e06baea51d1a8a5bb839d573f6","name":"@appss/sdk-core","dist-tags":{"latest":"0.4.10"},"versions":{"0.1.0":{"name":"@appss/sdk-core","version":"0.1.0","keywords":["analytics","sdk","tracking","telegram","tma"],"license":"MIT","_id":"@appss/sdk-core@0.1.0","maintainers":[{"name":"mzhers","email":"m.zhers@engagelabs.org"},{"name":"vapoltavecs_engagelabs","email":"vapoltavecs@gmail.com"}],"dist":{"shasum":"4bba875c40050e0be96f89451032f4d93d6698b4","tarball":"https://registry.npmjs.org/@appss/sdk-core/-/sdk-core-0.1.0.tgz","fileCount":7,"integrity":"sha512-Jo88qKtqDemS/rht91//oVsusLMds8FSEuNdsUtkpQddBudlOp1PdCXKmrLA46NGY+PRCBv+8hVGgcNY6yMNrQ==","signatures":[{"sig":"MEQCIHkW3wLO0I+ZYNrS+fjTw1IXd/3aumEGHgBuWwahIZV/AiAb+RXJHz+PgaIEoVHhgmSzJvhHwsSjXIxal4EliM4Zaw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":112158},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"265214bbb1ebf9446c23f0b9fc77a0e17073e9af","scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","clean":"rm -rf dist .turbo coverage","typecheck":"tsc --noEmit","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"vapoltavecs_engagelabs","email":"vapoltavecs@gmail.com"},"_npmVersion":"10.8.2","description":"Core module for APPSS analytics SDK","directories":{},"_nodeVersion":"20.19.4","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/sdk-core_0.1.0_1777009574413_0.36259126547543863","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@appss/sdk-core","version":"0.2.0","keywords":["analytics","sdk","tracking","telegram","tma"],"license":"MIT","_id":"@appss/sdk-core@0.2.0","maintainers":[{"name":"mzhers","email":"m.zhers@engagelabs.org"},{"name":"vapoltavecs_engagelabs","email":"vapoltavecs@gmail.com"}],"dist":{"shasum":"0664c1265d14ad1234b52bb028b64e87d18a549f","tarball":"https://registry.npmjs.org/@appss/sdk-core/-/sdk-core-0.2.0.tgz","fileCount":7,"integrity":"sha512-udYsmwD7Q8JaOi/PaaYZQFUssS9GGLi3hNd2xTt7g55RS/0ckRxWT9h0xPkcSFVdssXF3AfwPciX5EpRYA28Dw==","signatures":[{"sig":"MEQCIEh/c7gONsOqR9IIsyirSuSZexdN9HrY9N4snaQAxnzmAiBB/xKnLL2B6bHqF4X57q02lB1qXnOOv3V67WnI3evI0g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":112469},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"265214bbb1ebf9446c23f0b9fc77a0e17073e9af","scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","clean":"rm -rf dist .turbo coverage","typecheck":"tsc --noEmit","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"vapoltavecs_engagelabs","email":"vapoltavecs@gmail.com"},"_npmVersion":"10.8.2","description":"Core module for APPSS analytics SDK","directories":{},"_nodeVersion":"20.19.4","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/sdk-core_0.2.0_1777033723206_0.41552713466302404","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@appss/sdk-core","version":"0.3.0","keywords":["analytics","sdk","tracking","telegram","tma"],"license":"MIT","_id":"@appss/sdk-core@0.3.0","maintainers":[{"name":"mzhers","email":"m.zhers@engagelabs.org"},{"name":"vapoltavecs_engagelabs","email":"vapoltavecs@gmail.com"}],"dist":{"shasum":"dabc17b607c9ab813f154c13c516808c9ec5f7f9","tarball":"https://registry.npmjs.org/@appss/sdk-core/-/sdk-core-0.3.0.tgz","fileCount":7,"integrity":"sha512-bMGEnSiMy1PRXkgWfGboLhOWKieTyHA/1hjleTW91bqcCktQNrPOs32Pk82f2FY7o2GAVxAUyQAxP8SLp393vQ==","signatures":[{"sig":"MEUCIQDcuODFegrIZ67VV97QTXzQRrzQQ7xhVsAnJN1+Wz/fEwIgfRjhA34FRCxwumVHV6Xfpd8bmvKa5v6QzltK2V/BftU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":117907},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"34eb58f4722bd5accb79c1a71fcd81cfae1f5ac7","scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","clean":"rm -rf dist .turbo coverage","typecheck":"tsc --noEmit","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"vapoltavecs_engagelabs","email":"vapoltavecs@gmail.com"},"_npmVersion":"10.8.2","description":"Core module for APPSS analytics SDK","directories":{},"_nodeVersion":"20.19.4","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/sdk-core_0.3.0_1777288299653_0.5863055704559246","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@appss/sdk-core","version":"0.4.0","keywords":["analytics","sdk","tracking","telegram","tma"],"license":"Apache-2.0","_id":"@appss/sdk-core@0.4.0","maintainers":[{"name":"mzhers","email":"m.zhers@engagelabs.org"},{"name":"vapoltavecs_engagelabs","email":"vapoltavecs@gmail.com"}],"homepage":"https://github.com/engagementlabs/appss-sdk-js#readme","bugs":{"url":"https://github.com/engagementlabs/appss-sdk-js/issues"},"dist":{"shasum":"e3129984f5b9070221daab6ac753030827a8a67f","tarball":"https://registry.npmjs.org/@appss/sdk-core/-/sdk-core-0.4.0.tgz","fileCount":7,"integrity":"sha512-VAundain8SZ6wuw6adsfjo7H7tRPsdy6ZBP966EntRFG1q0y4JA2rFjVGzXBvYYKFkW86f+OWjyWM8kAop3IRQ==","signatures":[{"sig":"MEQCIHlx85uk//BEUytRr+saderwABx7Vo0fsPT6WBcW77tQAiApWEcpNtYHTixc7xV8JuK5i4oqdnOBSGkFcqBjwXOxsw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":118050},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"38ef9baeb6d921b588e71d43dbe45f2460f49fb8","scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","clean":"rm -rf dist .turbo coverage","typecheck":"tsc --noEmit","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"vapoltavecs_engagelabs","email":"vapoltavecs@gmail.com"},"repository":{"url":"git+https://github.com/engagementlabs/appss-sdk-js.git","type":"git","directory":"packages/core"},"_npmVersion":"10.8.2","description":"Core module for APPSS analytics SDK","directories":{},"_nodeVersion":"20.19.4","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/sdk-core_0.4.0_1777357169400_0.6677874654394824","host":"s3://npm-registry-packages-npm-production"}},"0.4.5":{"name":"@appss/sdk-core","version":"0.4.5","keywords":["analytics","sdk","tracking","telegram","tma"],"license":"Apache-2.0","_id":"@appss/sdk-core@0.4.5","maintainers":[{"name":"mzhers","email":"m.zhers@engagelabs.org"},{"name":"vapoltavecs_engagelabs","email":"vapoltavecs@gmail.com"}],"homepage":"https://github.com/engagementlabs/appss-sdk-js#readme","bugs":{"url":"https://github.com/engagementlabs/appss-sdk-js/issues"},"dist":{"shasum":"e9d308561949e07d03b12e8b886d6b041c2b2886","tarball":"https://registry.npmjs.org/@appss/sdk-core/-/sdk-core-0.4.5.tgz","fileCount":7,"integrity":"sha512-GyjEIXIe7I6oU1Fh1G7AiedNBARKAltxXVwuZ3tGDQEP3nGIfJUMr/XNXv/GYqVez1qxcuU6HHpxZWvNQOtiHw==","signatures":[{"sig":"MEQCIFkDlFLPkl5ks/bCnWlhj0xqOSrFKUeqV8o/N0SSUqBtAiAO+IiLfYRy2gRqara+qluIMNPQk/XUnscnWg985jp53g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@appss%2fsdk-core@0.4.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":121012},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"70ccb34d720bc93787104fbd958dd02654fa5bbf","scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","clean":"rm -rf dist .turbo coverage","typecheck":"tsc --noEmit","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:126ec30a-9b8f-475f-bfbc-7dbe73f09cbc"}},"repository":{"url":"git+https://github.com/engagementlabs/appss-sdk-js.git","type":"git","directory":"packages/core"},"_npmVersion":"11.13.0","description":"Core module for APPSS analytics SDK","directories":{},"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/sdk-core_0.4.5_1777374821999_0.5739777272561475","host":"s3://npm-registry-packages-npm-production"}},"0.4.6":{"name":"@appss/sdk-core","version":"0.4.6","keywords":["analytics","sdk","tracking","telegram","tma"],"license":"Apache-2.0","_id":"@appss/sdk-core@0.4.6","maintainers":[{"name":"mzhers","email":"m.zhers@engagelabs.org"},{"name":"vapoltavecs_engagelabs","email":"vapoltavecs@gmail.com"}],"homepage":"https://github.com/engagementlabs/appss-sdk-js#readme","bugs":{"url":"https://github.com/engagementlabs/appss-sdk-js/issues"},"dist":{"shasum":"1335a25de7b1cc520a31c95ed3532ee8acfb4114","tarball":"https://registry.npmjs.org/@appss/sdk-core/-/sdk-core-0.4.6.tgz","fileCount":8,"integrity":"sha512-HNp0YG3DkX2Z1nZjGQTc0ZEBD344x+qTsE+X17mm8SZif5CpqN2tVAV0qEhWQBQQFFDeo80SAOfTFUaRviYlQA==","signatures":[{"sig":"MEQCIGwVocdZ8xCytNvBwCcyoWbZC8pt4bsliWy1CH8t1WubAiAvN/1g0m6EO68nzuXUXZjyvEe/iX1+ldml+zkjPbAfbQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@appss%2fsdk-core@0.4.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":128872},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"246eb8c2263bd3464444361713cdbc25f45edb25","scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","clean":"rm -rf dist .turbo coverage","typecheck":"tsc --noEmit","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:126ec30a-9b8f-475f-bfbc-7dbe73f09cbc"}},"repository":{"url":"git+https://github.com/engagementlabs/appss-sdk-js.git","type":"git","directory":"packages/core"},"_npmVersion":"11.13.0","description":"Core module for APPSS analytics SDK","directories":{},"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/sdk-core_0.4.6_1777385071266_0.8650907088957764","host":"s3://npm-registry-packages-npm-production"}},"0.4.7":{"name":"@appss/sdk-core","version":"0.4.7","keywords":["analytics","sdk","tracking","telegram","tma"],"license":"Apache-2.0","_id":"@appss/sdk-core@0.4.7","maintainers":[{"name":"mzhers","email":"m.zhers@engagelabs.org"},{"name":"vapoltavecs_engagelabs","email":"vapoltavecs@gmail.com"}],"homepage":"https://github.com/engagementlabs/appss-sdk-js#readme","bugs":{"url":"https://github.com/engagementlabs/appss-sdk-js/issues"},"dist":{"shasum":"a4fa0f725a1c1f33ddd2cf4a1f4610736f96d1c8","tarball":"https://registry.npmjs.org/@appss/sdk-core/-/sdk-core-0.4.7.tgz","fileCount":8,"integrity":"sha512-HObHZMxx4hUm0zs1OTx/XMHxIFTA9fjl3M0dxd7TxU2F2Upv7+pRdPpOArwMc9mv7lTkBkk3MVqwXjcAubfqhg==","signatures":[{"sig":"MEYCIQDf9oJKkQ6uIt3ZmBWelGrH86XhzQA+h3jOt/dMZTcnYAIhAKVDZw+nF7yBPa4diSmuOaCoXClD4CP1AKAN57Ijmume","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@appss%2fsdk-core@0.4.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":139731},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"a47099347ca151b16c33449941e5b13aeab97ef0","scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","clean":"rm -rf dist .turbo coverage","typecheck":"tsc --noEmit","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:126ec30a-9b8f-475f-bfbc-7dbe73f09cbc"}},"repository":{"url":"git+https://github.com/engagementlabs/appss-sdk-js.git","type":"git","directory":"packages/core"},"_npmVersion":"11.13.0","description":"Core module for APPSS analytics SDK","directories":{},"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/sdk-core_0.4.7_1777658507480_0.18205894043132087","host":"s3://npm-registry-packages-npm-production"}},"0.4.8":{"name":"@appss/sdk-core","version":"0.4.8","keywords":["analytics","sdk","tracking","telegram","tma"],"license":"Apache-2.0","_id":"@appss/sdk-core@0.4.8","maintainers":[{"name":"mzhers","email":"m.zhers@engagelabs.org"},{"name":"vapoltavecs_engagelabs","email":"vapoltavecs@gmail.com"}],"homepage":"https://github.com/engagementlabs/appss-sdk-js#readme","bugs":{"url":"https://github.com/engagementlabs/appss-sdk-js/issues"},"dist":{"shasum":"01a8a1a9f4e40f6b20f0c05ed5b222c8462a2e8d","tarball":"https://registry.npmjs.org/@appss/sdk-core/-/sdk-core-0.4.8.tgz","fileCount":8,"integrity":"sha512-e6LL89kFPouI1Snf1e+3LTJ59GmRJAvud8n7xtb6/2hB/mGBHE8TSNZbXXwgZccX8wDgOgWDhRsRps9ryP0+OA==","signatures":[{"sig":"MEQCIEYLn+C8lU5/zmGEqeN+tFODooR7HAm/My+msaN0P4hUAiB+RXXOlPrKuyANPdeb75BLnhPEu8gDPIcbO+lPQzS8tw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@appss%2fsdk-core@0.4.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":143597},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"3eacac5d3939b396c289335c2348dba9885d7e48","scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","clean":"rm -rf dist .turbo coverage","typecheck":"tsc --noEmit","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:126ec30a-9b8f-475f-bfbc-7dbe73f09cbc"}},"repository":{"url":"git+https://github.com/engagementlabs/appss-sdk-js.git","type":"git","directory":"packages/core"},"_npmVersion":"11.18.0","description":"Core module for APPSS analytics SDK","directories":{},"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/sdk-core_0.4.8_1783506388225_0.9363350906892853","host":"s3://npm-registry-packages-npm-production"}},"0.4.9":{"name":"@appss/sdk-core","version":"0.4.9","keywords":["analytics","sdk","tracking","telegram","tma"],"license":"Apache-2.0","_id":"@appss/sdk-core@0.4.9","maintainers":[{"name":"mzhers","email":"m.zhers@engagelabs.org"},{"name":"vapoltavecs_engagelabs","email":"vapoltavecs@gmail.com"}],"homepage":"https://github.com/engagementlabs/appss-sdk-js#readme","bugs":{"url":"https://github.com/engagementlabs/appss-sdk-js/issues"},"dist":{"shasum":"9b93bcf50372178b89ba0ee1aed90e8d6a7f779e","tarball":"https://registry.npmjs.org/@appss/sdk-core/-/sdk-core-0.4.9.tgz","fileCount":8,"integrity":"sha512-Zxxhuoi7UvZsYkOypqdllYF031kOCKU1MV0UQkXLv+65W3BAuZnBO33GpGFbHZnu9GLg1UGT5M7C92Wi8BaIag==","signatures":[{"sig":"MEQCICsYD4Ae7UTw4zW6i/SqecNJ0IK/VSMxa/0/3poSToTmAiAuwn3c8txN4H6pFLYxIn3jf7e554DnNim9/ZK4cv4BSg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@appss%2fsdk-core@0.4.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":155081},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"5e131f2e0dbcf60ab57e8f7962f1682ba6143414","scripts":{"lint":"eslint src","test":"vitest run","build":"tsup","clean":"rm -rf dist .turbo coverage","typecheck":"tsc --noEmit","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:126ec30a-9b8f-475f-bfbc-7dbe73f09cbc"}},"repository":{"url":"git+https://github.com/engagementlabs/appss-sdk-js.git","type":"git","directory":"packages/core"},"_npmVersion":"12.0.2","description":"Core module for APPSS analytics SDK","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/sdk-core_0.4.9_1786714978065_0.9271243814128942","host":"s3://npm-registry-packages-npm-production"}},"0.4.10":{"name":"@appss/sdk-core","version":"0.4.10","description":"Core module for APPSS analytics SDK","keywords":["analytics","sdk","tracking","telegram","tma"],"type":"module","license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/engagementlabs/appss-sdk-js.git","directory":"packages/core"},"publishConfig":{"access":"public"},"main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"build":"tsup","test":"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage","lint":"eslint src","typecheck":"tsc --noEmit","clean":"rm -rf dist .turbo coverage"},"gitHead":"bc85686d48fb6e499cc34cc677440ce04eb0addf","_id":"@appss/sdk-core@0.4.10","bugs":{"url":"https://github.com/engagementlabs/appss-sdk-js/issues"},"homepage":"https://github.com/engagementlabs/appss-sdk-js#readme","_nodeVersion":"24.19.0","_npmVersion":"12.0.2","dist":{"integrity":"sha512-U5QK+Ae7DEjD1bO/g34xD3M6I16EVuuw/feEdrWWoqw0DJPOlOP3iMXe2LUGyzVTTqWM23lr1XiNjDe/+w0niA==","shasum":"dd37972f88971f81f3d9c9620543d2cf31d91d2a","tarball":"https://registry.npmjs.org/@appss/sdk-core/-/sdk-core-0.4.10.tgz","fileCount":8,"unpackedSize":155091,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@appss%2fsdk-core@0.4.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCawe9yNJT3Jvi0jXaKKWk46LXvFro/vM56B8nTSZ/c1AIhAPuQv5gmPzbtjo08MS2YzQWUS0OKmeWmb3rR3BBuSHuN"}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:126ec30a-9b8f-475f-bfbc-7dbe73f09cbc"}},"directories":{},"maintainers":[{"name":"mzhers","email":"m.zhers@engagelabs.org"},{"name":"vapoltavecs_engagelabs","email":"vapoltavecs@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/sdk-core_0.4.10_1786723972569_0.7325621361729702"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-24T05:46:14.236Z","modified":"2026-08-14T16:12:53.040Z","0.1.0":"2026-04-24T05:46:14.564Z","0.2.0":"2026-04-24T12:28:43.391Z","0.3.0":"2026-04-27T11:11:39.838Z","0.4.0":"2026-04-28T06:19:29.546Z","0.4.5":"2026-04-28T11:13:42.125Z","0.4.6":"2026-04-28T14:04:31.408Z","0.4.7":"2026-05-01T18:01:47.667Z","0.4.8":"2026-07-08T10:26:28.356Z","0.4.9":"2026-08-14T13:42:58.208Z","0.4.10":"2026-08-14T16:12:52.704Z"},"bugs":{"url":"https://github.com/engagementlabs/appss-sdk-js/issues"},"license":"Apache-2.0","homepage":"https://github.com/engagementlabs/appss-sdk-js#readme","keywords":["analytics","sdk","tracking","telegram","tma"],"repository":{"type":"git","url":"git+https://github.com/engagementlabs/appss-sdk-js.git","directory":"packages/core"},"description":"Core module for APPSS analytics SDK","maintainers":[{"name":"mzhers","email":"m.zhers@engagelabs.org"},{"name":"vapoltavecs_engagelabs","email":"vapoltavecs@gmail.com"}],"readme":"# @appss/sdk-core\n\nCore module for APPSS analytics SDK. Provides the abstract client, configuration, batching, retry logic, and platform-agnostic interfaces.\n\nThis package is not used directly. Install [`@appss/sdk-browser`](../browser) or [`@appss/sdk-node`](../node) instead.\n\n## What's inside\n\n### AbstractAppssClient\n\nBase class that browser and node packages extend. Handles the full event lifecycle:\n\n- `init(config)` — validate config, create transport/queue/logger, start flush timer\n- `track(distinctId, event, properties?)` — enrich event with super properties, enqueue, auto-flush on threshold\n- `setUserProperty(distinctId, key, value)` — send user property to server\n- `setUserProperties(distinctId, properties)` — send multiple user properties\n- `setSuperProperties(properties)` — set properties attached to every event automatically\n- `resetSuperProperties()` — clear all super properties\n- `setEventContextProvider(provider)` — register a source of per-event context (see `EventEnricher`)\n- `flush()` — force send all queued events (deduplicated)\n- `destroy()` — flush + stop timers + unregister lifecycle handlers\n\nSubclasses must implement:\n\n```ts\nprotected abstract createTransport(config: ResolvedConfig): ITransport;\nprotected abstract createQueue(config: ResolvedConfig): IEventQueue;\nprotected abstract createLogger(config: ResolvedConfig): ILogger;\nprotected abstract registerLifecycleHandlers(): void;\nprotected abstract unregisterLifecycleHandlers(): void;\n```\n\nSubclasses can also read the resolved logger with `protected getLogger(): ILogger | null` — useful for platform code that reports failures without throwing.\n\n### Ports (interfaces)\n\n#### ITransport\n\n```ts\ninterface ITransport {\n  send(path: string, body: unknown, headers: Record<string, string>): Promise<TransportResponse>;\n}\n```\n\n#### IEventQueue\n\n```ts\ninterface IEventQueue {\n  enqueue(event: AppssEvent): void;\n  drain(maxCount: number): AppssEvent[];\n  peek(maxCount: number): AppssEvent[];\n  size(): number;\n  isEmpty(): boolean;\n  clear(): void;\n}\n```\n\nAll methods are synchronous. If your backing store is async, use a local buffer with background sync.\n\n#### ILogger\n\n```ts\ninterface ILogger {\n  debug(message: string, context?: Record<string, unknown>): void;\n  info(message: string, context?: Record<string, unknown>): void;\n  warn(message: string, context?: Record<string, unknown>): void;\n  error(message: string, context?: Record<string, unknown>): void;\n}\n```\n\n### Configuration\n\n```ts\ninterface AppssConfig {\n  apiKey: string;                    // required\n  endpoint?: string;                 // default: APPSS production endpoint\n  flushInterval?: number;            // ms, default: 10000\n  batchSize?: number;                // default: 50\n  maxQueueSize?: number;             // default: 10000\n  requestTimeout?: number;           // ms, default: 30000\n  debug?: boolean;                   // default: false\n  retry?: {\n    maxRetries?: number;             // default: 5\n    baseBackoffMs?: number;          // default: 1000\n    maxBackoffMs?: number;           // default: 16000\n  };\n  logger?: ILogger;                  // custom logger\n  queue?: IEventQueue;               // custom queue\n  onError?: (error: AppssError) => void;\n}\n```\n\n### Types\n\n#### DistinctId\n\n```ts\ntype DistinctId = string | number;\n```\n\nAccepted by `track`, `setUserProperty`, `setUserProperties`. Numbers are converted to strings internally via `resolveDistinctId()`. NaN, Infinity, and empty strings are silently rejected.\n\n#### AppssEvent\n\n```ts\ninterface AppssEvent {\n  event: string;\n  distinctId: string;\n  insertId: string;\n  timestamp: Date;\n  properties?: Record<string, unknown>;\n}\n```\n\nInternal event format used by `IEventQueue`. Generated by `buildEvent()`, converted to wire format by `eventToPayload()`.\n\n### Error handling\n\nAll errors extend `AppssError`:\n\n```ts\nclass AppssError extends Error {\n  readonly code: ErrorCode;\n  readonly severity: 'warn' | 'error';\n  readonly retryable: boolean;\n}\n```\n\nError codes:\n\n| Code | When |\n|------|------|\n| `NOT_INITIALIZED` | Method called before `init()` |\n| `INVALID_API_KEY` | Empty or missing API key |\n| `NETWORK_ERROR` | Transport failure or 5xx response |\n| `RATE_LIMITED` | 429 response |\n| `API_KEY_REVOKED` | 401 response — SDK stops sending |\n| `PROTOCOL_ERROR` | 400 or unexpected status |\n| `QUEUE_OVERFLOW` | Queue exceeded max size |\n| `MAX_RETRIES_EXCEEDED` | All retry attempts failed |\n\n### Batching and retry\n\n- Events are queued and sent in batches (`batchSize`, default 50)\n- Flush triggers on timer (`flushInterval`, default 10s) or when batch is full\n- Failed batches are retried with exponential backoff + jitter\n- 413 responses trigger recursive batch splitting\n- 401 response stops all future sends (API key revoked)\n- 429 response respects `Retry-After` header (clamped to `maxBackoffMs`)\n\n### EventEnricher\n\nManages the properties that are automatically merged into every tracked event:\n\n```ts\nclass EventEnricher {\n  set(key: string, value: unknown): void;\n  setAll(properties: Record<string, unknown>): void;\n  setContextProvider(provider: EventContextProvider | null): void;\n  remove(key: string): void;\n  reset(): void;\n  enrich(eventProperties?: EventProperties): EventProperties;\n}\n```\n\nThree layers are merged from the most general to the most specific — later ones win:\n\n```\nsuper properties → event context → properties passed to track()\n```\n\nSuper properties are a static snapshot: set once, sent with every event. Event context is collected by the provider on every `track()`, so it can report values that change while the SDK is alive (page address, viewport). Properties passed by the caller always win over both. A provider that throws is ignored, and `reset()` does not clear it.\n\nUsed internally by `AbstractAppssClient` — platform packages call `setSuperProperties()` to set `$lib` and other metadata, and `setEventContextProvider()` to attach environment properties.\n\n### uuid\n\n```ts\nfunction uuid(): string;\n```\n\nGenerates a v4 identifier for `$insert_id` and for platform packages that need one. Uses `crypto.randomUUID()` when available, falls back to `crypto.getRandomValues()` (works on insecure origins, where `randomUUID` is not exposed) and then to `Math.random()`.\n\n### FlushPolicy\n\nManages the flush timer and flush deduplication:\n\n- Starts an interval timer that triggers flush\n- `flush()` ensures only one flush runs at a time (promise deduplication)\n- `reset()` restarts the timer after a successful flush\n- `stop()` clears the timer and pending flush\n\n## Implementing a new platform\n\nTo add support for a new platform (e.g., React Native, Deno):\n\n1. Create a new package that depends on `@appss/sdk-core`\n2. Extend `AbstractAppssClient`\n3. Implement the five abstract methods\n4. Create a constants file with `SDK_PLATFORM`\n5. Call `this.setSuperProperties({ $lib: SDK_PLATFORM })` in `init()`\n6. If the environment has properties worth sending with every event, register them with `this.setEventContextProvider(...)` instead of merging them by hand in `track()`\n\n```ts\nimport { AbstractAppssClient } from '@appss/sdk-core';\n\nclass MyPlatformClient extends AbstractAppssClient {\n  override init(config) {\n    super.init(config);\n    this.setSuperProperties({ $lib: 'my-platform' });\n  }\n\n  protected createTransport(config) { /* ... */ }\n  protected createQueue(config) { /* ... */ }\n  protected createLogger(config) { /* ... */ }\n  protected registerLifecycleHandlers() { /* ... */ }\n  protected unregisterLifecycleHandlers() { /* ... */ }\n}\n```\n\n## License\n\nApache-2.0\n","readmeFilename":"README.md"}