{"_id":"@adwait12345/telemetry-core","_rev":"8-d71e179d1e6f6a9a193a794b7cbf306e","name":"@adwait12345/telemetry-core","dist-tags":{"latest":"0.1.9"},"versions":{"0.1.0":{"name":"@adwait12345/telemetry-core","version":"0.1.0","_id":"@adwait12345/telemetry-core@0.1.0","maintainers":[{"name":"adwait12345","email":"advtbokde@gmail.com"}],"dist":{"shasum":"60dc156be46e3b0158d372197906f0ed122c8589","tarball":"https://registry.npmjs.org/@adwait12345/telemetry-core/-/telemetry-core-0.1.0.tgz","fileCount":5,"integrity":"sha512-Sr2oZJRKqoCq+z6iSqe26g6xvujHWADre3mJkI8y5tuHb7ZWSNJi+/cKYXHq/SawKOYYbK4OXRLICh0q2B4Cvw==","signatures":[{"sig":"MEQCIGjyCrT6CLNyuCXLjbxCFYgY5govYy8pF/ysDn1C9ocwAiBlybJUjPZg3VCPYpJ1yc7MUeaCL8gfIVSDoGMDq1NkAQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27362},"main":"./dist/index.js","_from":"file:adwait12345-telemetry-core-0.1.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --watch","build":"tsup src/index.ts --format esm,cjs --dts --clean","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"adwait12345","email":"advtbokde@gmail.com"},"_resolved":"/private/var/folders/n5/qzpv7qs52kz9rd1ks63nybvc0000gn/T/73e9c981e2cb535430f91e5ed42db23a/adwait12345-telemetry-core-0.1.0.tgz","_integrity":"sha512-Sr2oZJRKqoCq+z6iSqe26g6xvujHWADre3mJkI8y5tuHb7ZWSNJi+/cKYXHq/SawKOYYbK4OXRLICh0q2B4Cvw==","_npmVersion":"10.9.3","description":"Framework-agnostic core for Telemetry SDK — bot detection and server-side tracking","directories":{},"_nodeVersion":"22.18.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/telemetry-core_0.1.0_1772737476215_0.8050917047242534","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@adwait12345/telemetry-core","version":"0.1.2","_id":"@adwait12345/telemetry-core@0.1.2","maintainers":[{"name":"adwait12345","email":"advtbokde@gmail.com"}],"dist":{"shasum":"3f7e24940d156210679b593d08f5c1c042431682","tarball":"https://registry.npmjs.org/@adwait12345/telemetry-core/-/telemetry-core-0.1.2.tgz","fileCount":5,"integrity":"sha512-+8Zfxv9XLqwyVj+aoRySIwCYfc/rbfSmlg77zMOfNTGDZKxz0qmvm7/qVq/83xMUncjZv0JQnCTbnZ6WukmWPw==","signatures":[{"sig":"MEYCIQCNYMCBDS1vVQHGkjfmIoIq0OfPap+D2XXX+8uEzi6IiQIhAJVyoLvsRfhGcCea+v9fFSjrRlJHlJW0H7wmopRv99U2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":60006},"main":"./dist/index.js","_from":"file:adwait12345-telemetry-core-0.1.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --watch","build":"tsup src/index.ts --format esm,cjs --dts --clean","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"adwait12345","email":"advtbokde@gmail.com"},"_resolved":"/private/var/folders/n5/qzpv7qs52kz9rd1ks63nybvc0000gn/T/654135d44d151584db30f7a51bab8c2e/adwait12345-telemetry-core-0.1.2.tgz","_integrity":"sha512-+8Zfxv9XLqwyVj+aoRySIwCYfc/rbfSmlg77zMOfNTGDZKxz0qmvm7/qVq/83xMUncjZv0JQnCTbnZ6WukmWPw==","_npmVersion":"10.9.3","description":"Framework-agnostic core for Telemetry SDK — bot detection and server-side tracking","directories":{},"_nodeVersion":"22.18.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/telemetry-core_0.1.2_1772794104355_0.4763958290935866","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@adwait12345/telemetry-core","version":"0.1.3","_id":"@adwait12345/telemetry-core@0.1.3","maintainers":[{"name":"adwait12345","email":"advtbokde@gmail.com"}],"dist":{"shasum":"28d6b17ae001b3716251029dee80afa2ad264324","tarball":"https://registry.npmjs.org/@adwait12345/telemetry-core/-/telemetry-core-0.1.3.tgz","fileCount":5,"integrity":"sha512-eFp4Z/vky4IgXGBxFVd+GuUxotB+rLZ8jYb0Thyp5gEJJ+YcVoT2vulGyIJitYFE1gCu+9JjK4FUORrblZG78A==","signatures":[{"sig":"MEYCIQDFagalrkwzB3tkKLonRdP3ln4yEU4m+6DbdrLy7R4iPQIhAMTqAotWktFCvglRe4FWdNXd0dTdO5TOQGUnx3fiBWm2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":62560},"main":"./dist/index.js","_from":"file:adwait12345-telemetry-core-0.1.3.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --watch","build":"tsup src/index.ts --format esm,cjs --dts --clean","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"adwait12345","email":"advtbokde@gmail.com"},"_resolved":"/private/var/folders/n5/qzpv7qs52kz9rd1ks63nybvc0000gn/T/8e612e686179103ed39f1f41fb0576e9/adwait12345-telemetry-core-0.1.3.tgz","_integrity":"sha512-eFp4Z/vky4IgXGBxFVd+GuUxotB+rLZ8jYb0Thyp5gEJJ+YcVoT2vulGyIJitYFE1gCu+9JjK4FUORrblZG78A==","_npmVersion":"10.9.3","description":"Framework-agnostic core for Telemetry SDK — bot detection and server-side tracking","directories":{},"_nodeVersion":"22.18.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/telemetry-core_0.1.3_1772796430760_0.826315716999185","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@adwait12345/telemetry-core","version":"0.1.4","_id":"@adwait12345/telemetry-core@0.1.4","maintainers":[{"name":"adwait12345","email":"advtbokde@gmail.com"}],"dist":{"shasum":"0df395311916fa5da14b2b28276aa94f3ee66646","tarball":"https://registry.npmjs.org/@adwait12345/telemetry-core/-/telemetry-core-0.1.4.tgz","fileCount":6,"integrity":"sha512-GnED9PxtPgE8H4GDFZxfW9ePH2I2aZV9SidQKyJydZZZycHQOZyZ/RucDz9qIp/y/mYtBaiVfljWUv5jE0I5fw==","signatures":[{"sig":"MEUCIQCuMgjIRR/hJKa8GV8KsRSKJNsbi0EqrZfPeuJpLWHDLAIgdV9M5Km/8dNFMb8P4gmshtDxfNa+4yxoCPflFAbpWfk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":67247},"main":"./dist/index.js","_from":"file:adwait12345-telemetry-core-0.1.4.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --watch","build":"tsup src/index.ts --format esm,cjs --dts --clean","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"adwait12345","email":"advtbokde@gmail.com"},"_resolved":"/private/var/folders/n5/qzpv7qs52kz9rd1ks63nybvc0000gn/T/f44af1c10b51e0a6a3b3b9f96c263fbb/adwait12345-telemetry-core-0.1.4.tgz","_integrity":"sha512-GnED9PxtPgE8H4GDFZxfW9ePH2I2aZV9SidQKyJydZZZycHQOZyZ/RucDz9qIp/y/mYtBaiVfljWUv5jE0I5fw==","_npmVersion":"10.9.3","description":"Framework-agnostic core for Telemetry SDK — bot detection and server-side tracking","directories":{},"_nodeVersion":"22.18.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/telemetry-core_0.1.4_1772827787498_0.4812161949368605","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@adwait12345/telemetry-core","version":"0.1.5","_id":"@adwait12345/telemetry-core@0.1.5","maintainers":[{"name":"adwait12345","email":"advtbokde@gmail.com"}],"dist":{"shasum":"c02c3cb239878c0b4ad55e255e345fe379060ec2","tarball":"https://registry.npmjs.org/@adwait12345/telemetry-core/-/telemetry-core-0.1.5.tgz","fileCount":6,"integrity":"sha512-G1wkV9M9cUJhMU6a2FHSiJsoTEU0Qnj8hNIxRYN6/Gp8LMvqrT8Mjejj+pDO9DIrNGWhu2fSaqu7yKy0lGb05w==","signatures":[{"sig":"MEUCIGki3DAdtedq6raGwokHqaoz3trGBkZrhCNsOmVJE0hVAiEAr3a00evObUumdp3N2GvpcmME35ny20AsIepxwXpFhDs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":69649},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"602eb8a9300311669ba6cd7653dbc4ff3aa662fe","scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --watch","build":"tsup src/index.ts --format esm,cjs --dts --clean","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"adwait12345","email":"advtbokde@gmail.com"},"_npmVersion":"10.9.3","description":"Framework-agnostic core for Telemetry SDK — bot detection and server-side tracking","directories":{},"_nodeVersion":"22.18.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/telemetry-core_0.1.5_1773139532508_0.860849502183932","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@adwait12345/telemetry-core","version":"0.1.6","_id":"@adwait12345/telemetry-core@0.1.6","maintainers":[{"name":"adwait12345","email":"advtbokde@gmail.com"}],"dist":{"shasum":"0a328cfc3c863b4fe77e3fc0fda67d63a2c9fd6f","tarball":"https://registry.npmjs.org/@adwait12345/telemetry-core/-/telemetry-core-0.1.6.tgz","fileCount":6,"integrity":"sha512-INgTsD+k0xiCzMFU/4oEghTmLKaEK3B1xYpFBcLxXXE/XIGKQJYuUqiXF1nmpCOVt5Npf9tngjrDzS7LIHaSYA==","signatures":[{"sig":"MEQCIFsAfeHqC80VPRfoHdnqoFXM6WAMt5cpIuMItEM8Bnb7AiBAMl7w+QcE/2a1P5WM6BkqVldoo2lSnnTLzwDpTKOgyA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":74327},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"602eb8a9300311669ba6cd7653dbc4ff3aa662fe","scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --watch","build":"tsup src/index.ts --format esm,cjs --dts --clean","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"adwait12345","email":"advtbokde@gmail.com"},"_npmVersion":"10.9.3","description":"Framework-agnostic core for Telemetry SDK — bot detection and server-side tracking","directories":{},"_nodeVersion":"22.18.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/telemetry-core_0.1.6_1773140331855_0.9583872785813452","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@adwait12345/telemetry-core","version":"0.1.7","_id":"@adwait12345/telemetry-core@0.1.7","maintainers":[{"name":"adwait12345","email":"advtbokde@gmail.com"}],"dist":{"shasum":"e3377d9518255407f525be82d2f96129a6c816b5","tarball":"https://registry.npmjs.org/@adwait12345/telemetry-core/-/telemetry-core-0.1.7.tgz","fileCount":6,"integrity":"sha512-PT6Kpgk8FdZ29rC6nodGpfYVK7fDpl7h9eegple4DMmQC5CNZBur4fceEioJW9h58J1aYVdXHfo5U2XjjngIsw==","signatures":[{"sig":"MEYCIQD2SZtoQcm1dAiwcS207f0gc+KRMG8YJmzyG7O9exYWvwIhAMJLoVkGUhEz8N7NCzniA2WCoraJlbvg3Jv6Beve6xiX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":78429},"main":"./dist/index.js","_from":"file:adwait12345-telemetry-core-0.1.7.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --watch","build":"tsup src/index.ts --format esm,cjs --dts --clean","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"adwait12345","email":"advtbokde@gmail.com"},"_resolved":"/private/var/folders/n5/qzpv7qs52kz9rd1ks63nybvc0000gn/T/44fd6f89b84c6881318629ebedbbaa77/adwait12345-telemetry-core-0.1.7.tgz","_integrity":"sha512-PT6Kpgk8FdZ29rC6nodGpfYVK7fDpl7h9eegple4DMmQC5CNZBur4fceEioJW9h58J1aYVdXHfo5U2XjjngIsw==","_npmVersion":"10.9.3","description":"Framework-agnostic core for Telemetry SDK — bot detection and server-side tracking","directories":{},"_nodeVersion":"22.18.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/telemetry-core_0.1.7_1773297785507_0.14872682959823957","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"@adwait12345/telemetry-core","version":"0.1.9","description":"Framework-agnostic core for Telemetry SDK — bot detection and server-side tracking","main":"./dist/index.js","module":"./dist/index.mjs","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"build":"tsup src/index.ts --format esm,cjs --dts --clean","dev":"tsup src/index.ts --format esm,cjs --dts --watch","typecheck":"tsc --noEmit","clean":"rm -rf dist"},"devDependencies":{"tsup":"^8.0.0","typescript":"^5.4.0","@types/node":"^20.0.0"},"_id":"@adwait12345/telemetry-core@0.1.9","gitHead":"72f0cda9928c048f19c216fbdd7e1dcb3da4505c","_nodeVersion":"22.18.0","_npmVersion":"10.9.3","dist":{"integrity":"sha512-ElPBoRtcyHxMqK0awCentE5IaN9ZxPQxX+6cL6Ov810mXy5TT6A6ss7XhrayJ/PPMIHCBkdmorLcBOUgwYa3Pw==","shasum":"c7f18d0820062a54f7dbc713cb27deea02fcc832","tarball":"https://registry.npmjs.org/@adwait12345/telemetry-core/-/telemetry-core-0.1.9.tgz","fileCount":6,"unpackedSize":79384,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIFvbrDDg7JNQZ12WMkEbETAF9vEVOh1N7zydFK0KyU2EAiBc4M4+1015X61JXv8t1WMOgOXCM/O+avas5utlv9/8hQ=="}]},"_npmUser":{"name":"adwait12345","email":"advtbokde@gmail.com"},"directories":{},"maintainers":[{"name":"adwait12345","email":"advtbokde@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/telemetry-core_0.1.9_1774528592800_0.7436868964443146"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-05T19:04:36.114Z","modified":"2026-03-26T12:36:33.080Z","0.1.0":"2026-03-05T19:04:36.381Z","0.1.2":"2026-03-06T10:48:24.492Z","0.1.3":"2026-03-06T11:27:10.904Z","0.1.4":"2026-03-06T20:09:47.666Z","0.1.5":"2026-03-10T10:45:32.668Z","0.1.6":"2026-03-10T10:58:52.028Z","0.1.7":"2026-03-12T06:43:05.665Z","0.1.9":"2026-03-26T12:36:32.963Z"},"description":"Framework-agnostic core for Telemetry SDK — bot detection and server-side tracking","maintainers":[{"name":"adwait12345","email":"advtbokde@gmail.com"}],"readme":"# `@adwait12345/telemetry-core`\n\nThe shared core of the Telemetry SDK. Contains bot detection logic, the send function with retry support, and all shared TypeScript types used by the framework adapters (`telemetry-next`, `telemetry-express`, `telemetry-astro`).\n\nYou typically do **not** install this directly — install the adapter for your framework instead. Use this package if you are building a custom adapter.\n\n---\n\n## Installation\n\n```bash\nnpm install @adwait12345/telemetry-core\n# or\npnpm add @adwait12345/telemetry-core\n```\n\n---\n\n## What's included\n\n### `detectBot(req, customBots?)`\n\nRuns multi-layer bot detection against a normalized request object.\n\n**Detection layers (in priority order):**\n\n| Layer | Method | Confidence |\n|-------|--------|------------|\n| 1 | Automation headers (`x-selenium`, `x-puppeteer`, `x-playwright`, etc.) | `certain` |\n| 2 | HTTP/1.0 — no modern browser uses this | `high` |\n| 3 | Named bot UA match (100+ known bots across 16 categories) | `certain` |\n| 4 | Generic bot UA patterns (`/bot/i`, `/crawler/i`, empty/short UA, etc.) | `high` |\n| 5 | Header anomaly — claims modern browser but missing `sec-fetch-site` / `accept-language` | `medium`–`high` |\n\n```typescript\nimport { detectBot } from \"@adwait12345/telemetry-core\";\n\nconst result = detectBot({\n  userAgent: \"Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)\",\n  ip: \"66.249.66.1\",\n  path: \"/\",\n  method: \"GET\",\n  referrer: null,\n  acceptLanguage: null,\n  acceptEncoding: \"gzip\",\n  secFetchSite: null,\n  httpVersion: \"1.1\",\n  automationHeaders: [],\n});\n\n// result.isBot        → true\n// result.botName      → \"Googlebot\"\n// result.botCategory  → \"search\"\n// result.confidence   → \"certain\"\n// result.method       → \"ua-match\"\n```\n\n### `extractAutomationHeaders(headers)`\n\nChecks a plain headers object for known automation tool headers. Returns the list of matched header names. Call this before `detectBot` to populate `automationHeaders`.\n\n```typescript\nimport { extractAutomationHeaders } from \"@adwait12345/telemetry-core\";\n\nconst matched = extractAutomationHeaders(req.headers);\n// e.g. [\"x-playwright\"] if Playwright is driving the browser\n```\n\n### `sendToTelemetry(payload, config)`\n\nSends a tracking payload to the Telemetry API. Includes:\n- **3 attempts** with exponential backoff (200 ms → 400 ms)\n- **5 second timeout** per attempt via `AbortController`\n- **4xx errors skip retry** (they will not succeed on retry)\n- Automatic `Authorization: Bearer {serverSecret}` header\n\n```typescript\nimport { sendToTelemetry } from \"@adwait12345/telemetry-core\";\n\nawait sendToTelemetry(payload, {\n  projectId: \"your-project-id\",\n  apiUrl: \"https://telemetry-uqd3.onrender.com\",\n  serverSecret: \"sk_...\",\n});\n```\n\n---\n\n## Bot categories\n\nThe 100+ built-in bots are organized into 16 categories:\n\n| Category | Examples |\n|----------|---------|\n| `ai-crawler` | GPTBot, ClaudeBot, PerplexityBot, Applebot |\n| `ai-assistant` | ChatGPT-User, Claude-Web, Copilot |\n| `search` | Googlebot, Bingbot, DuckDuckBot, Yandex |\n| `seo` | AhrefsBot, SemrushBot, MajesticSEO |\n| `advertising` | Mediapartners-Google, AdsBot-Google |\n| `monitor` | UptimeRobot, Pingdom, StatusCake |\n| `preview` | Slackbot, Twitterbot, facebookexternalhit |\n| `webhook` | Stripe-Webhook, GitHub-Hookshot, Shopify |\n| `feed` | Feedly, Inoreader, NewsBlur |\n| `ecommerce` | Shopify, Wix |\n| `verification` | Let's Encrypt, SSL Labs |\n| `analytics` | New Relic, Datadog |\n| `social` | LinkedInBot, Pinterest |\n| `accessibility` | ChromeVox |\n| `scraper` | Scrapy, HTTrack |\n| `unknown` | Anything matching generic bot patterns |\n\n---\n\n## `TelemetryConfig` reference\n\n| Option | Type | Default | Description |\n|--------|------|---------|-------------|\n| `projectId` | `string` | **required** | Your Telemetry project ID |\n| `apiUrl` | `string` | hosted service | API base URL |\n| `serverSecret` | `string` | — | Secret key for server-side auth (`Bearer {serverSecret}`) |\n| `authorizationHeader` | `string` | — | Fully custom `Authorization` header value, overrides `serverSecret` |\n| `headers` | `Record<string, string>` | — | Extra headers merged into every telemetry request |\n| `trackAll` | `boolean` | `false` | Track all requests, not just bots |\n| `trackSearchBots` | `boolean` | `true` | Include Googlebot, Bingbot etc. |\n| `ignorePaths` | `(string \\| RegExp)[]` | — | Paths to skip (exact strings or regex) |\n| `customBots` | `Array<{name, pattern, category?}>` | — | Add your own bot definitions |\n| `debug` | `boolean` | `false` | Enable verbose console logging |\n","readmeFilename":"README.md"}