{"_id":"@automagik/telemetry","_rev":"5-31dfcb342fbb76a25f8841fe49fb42c4","name":"@automagik/telemetry","dist-tags":{"latest":"0.1.3"},"versions":{"0.0.1":{"name":"@automagik/telemetry","version":"0.0.1","keywords":["telemetry","opentelemetry","observability","privacy"],"author":{"name":"Automagik Team","email":"team@namastex.ai"},"license":"MIT","_id":"@automagik/telemetry@0.0.1","maintainers":[{"name":"namastexlabs","email":"genie@namastex.ai"}],"homepage":"https://github.com/namastexlabs/automagik-telemetry#readme","bugs":{"url":"https://github.com/namastexlabs/automagik-telemetry/issues"},"dist":{"shasum":"237d0efb45f88284e1f12da20c072edabe1a59df","tarball":"https://registry.npmjs.org/@automagik/telemetry/-/telemetry-0.0.1.tgz","fileCount":13,"integrity":"sha512-66Grf1ItkFuvDxDXcd35DpPhCrMFfSuDS8p5sd2BY4xFxkoVMxHeTfBcokBp3U41LfCVwWGd4LiqE3hOIWe1YQ==","signatures":[{"sig":"MEQCIERR1aJOjMuTjJr99P6rLPHUEAglPgAti2VRcrvanGmHAiBTBHB2gQMpB191kPOqzgAkstPec8cBdWDhHwWWyjUS4A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":83796},"main":"./dist/index.js","_from":"file:automagik-telemetry-0.0.1.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"scripts":{"lint":"eslint src --ext .ts","test":"jest","build":"tsc","format":"prettier --write src"},"_npmUser":{"name":"namastexlabs","email":"genie@namastex.ai"},"_resolved":"/tmp/112be6f930d813ffa2a938f8474c0372/automagik-telemetry-0.0.1.tgz","_integrity":"sha512-66Grf1ItkFuvDxDXcd35DpPhCrMFfSuDS8p5sd2BY4xFxkoVMxHeTfBcokBp3U41LfCVwWGd4LiqE3hOIWe1YQ==","repository":{"url":"git+https://github.com/namastexlabs/automagik-telemetry.git","type":"git","directory":"typescript"},"_npmVersion":"11.4.2","description":"Privacy-first, opt-in telemetry SDK for the Automagik ecosystem","directories":{},"_nodeVersion":"22.16.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.0","ts-jest":"^29.1.0","prettier":"^3.2.0","typescript":"^5.4.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@typescript-eslint/parser":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/telemetry_0.0.1_1761161890102_0.015738015321479004","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@automagik/telemetry","version":"0.1.1","keywords":["telemetry","opentelemetry","observability","privacy"],"author":{"name":"Automagik Team","email":"team@namastex.ai"},"license":"MIT","_id":"@automagik/telemetry@0.1.1","maintainers":[{"name":"namastexlabs","email":"genie@namastex.ai"}],"homepage":"https://github.com/namastexlabs/automagik-telemetry#readme","bugs":{"url":"https://github.com/namastexlabs/automagik-telemetry/issues"},"dist":{"shasum":"2ada7c39dac06d0dffa86d54f39a88b3607d3a8e","tarball":"https://registry.npmjs.org/@automagik/telemetry/-/telemetry-0.1.1.tgz","fileCount":22,"integrity":"sha512-uJ732W5cc7vM2Q6nJgXURgLtUXvxNnNAyh18TDmynX/aVbHQIgxOEX0Ak46dfodCghspReJM2zMdppZlseZ3Kg==","signatures":[{"sig":"MEUCIEzu5/9NiHJsqqv6c1Abf2xpkc+q3BCYvE8D8eiHE12PAiEAqKww63We0iVPbCOH3xcSSVK0fySXYiJkJN58SFDRcs0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":184210},"main":"./dist/index.js","_from":"file:automagik-telemetry-0.1.1.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"scripts":{"lint":"eslint src --ext .ts","test":"jest --coverage","build":"tsc","format":"prettier --write src","test:unit":"jest --coverage --testPathIgnorePatterns=integration","test:watch":"jest --watch","test:integration":"RUN_INTEGRATION_TESTS=true jest integration.test.ts --coverage=false","test:integration:clickhouse":"RUN_INTEGRATION_TESTS=true jest clickhouse.integration.test.ts --coverage=false"},"_npmUser":{"name":"namastexlabs","email":"genie@namastex.ai"},"_resolved":"/tmp/deb5539d5be2287173f0bc2bbc30e6f3/automagik-telemetry-0.1.1.tgz","_integrity":"sha512-uJ732W5cc7vM2Q6nJgXURgLtUXvxNnNAyh18TDmynX/aVbHQIgxOEX0Ak46dfodCghspReJM2zMdppZlseZ3Kg==","repository":{"url":"git+https://github.com/namastexlabs/automagik-telemetry.git","type":"git","directory":"typescript"},"_npmVersion":"10.8.2","description":"Privacy-first, opt-in telemetry SDK for the Automagik ecosystem","directories":{},"_nodeVersion":"20.19.5","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.0","ts-jest":"^29.1.0","prettier":"^3.2.0","typescript":"^5.4.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@typescript-eslint/parser":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/telemetry_0.1.1_1761329791639_0.3886361133277694","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@automagik/telemetry","version":"0.1.2","keywords":["telemetry","opentelemetry","observability","privacy"],"author":{"name":"Automagik Team","email":"team@namastex.ai"},"license":"MIT","_id":"@automagik/telemetry@0.1.2","maintainers":[{"name":"namastexlabs","email":"genie@namastex.ai"}],"homepage":"https://github.com/namastexlabs/automagik-telemetry#readme","bugs":{"url":"https://github.com/namastexlabs/automagik-telemetry/issues"},"dist":{"shasum":"99fc22845ff00d54c346637c9f44c7fd3969cdb2","tarball":"https://registry.npmjs.org/@automagik/telemetry/-/telemetry-0.1.2.tgz","fileCount":22,"integrity":"sha512-AsUoyxpvTfx5LICfru/P0GKDlbx+BTYtO1SZXCbXv/tj5Cqq40SqfS+yN+TB6M2Cad0B+yZqNx8ggSPI0TzcCQ==","signatures":[{"sig":"MEYCIQCh0roSN+/9pd5alc9ZyPSpBSoihrEjVXixNFMdq75caQIhALQ5Y7MjjwZrOJbLCX0tQrKP4sFfk2eJOA3+1+nQ827X","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":184157},"main":"./dist/index.js","_from":"file:automagik-telemetry-0.1.2.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"scripts":{"lint":"eslint src --ext .ts","test":"jest --coverage","build":"tsc","format":"prettier --write src","test:unit":"jest --coverage --testPathIgnorePatterns=integration","test:watch":"jest --watch","test:integration":"RUN_INTEGRATION_TESTS=true jest integration.test.ts --coverage=false","test:integration:clickhouse":"RUN_INTEGRATION_TESTS=true jest clickhouse.integration.test.ts --coverage=false"},"_npmUser":{"name":"namastexlabs","email":"genie@namastex.ai"},"_resolved":"/tmp/6f8c357b03b287891419c731e6497e29/automagik-telemetry-0.1.2.tgz","_integrity":"sha512-AsUoyxpvTfx5LICfru/P0GKDlbx+BTYtO1SZXCbXv/tj5Cqq40SqfS+yN+TB6M2Cad0B+yZqNx8ggSPI0TzcCQ==","repository":{"url":"git+https://github.com/namastexlabs/automagik-telemetry.git","type":"git","directory":"typescript"},"_npmVersion":"10.8.2","description":"Privacy-first, opt-in telemetry SDK for the Automagik ecosystem","directories":{},"_nodeVersion":"20.19.5","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.0","ts-jest":"^29.1.0","prettier":"^3.2.0","typescript":"^5.4.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@typescript-eslint/parser":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/telemetry_0.1.2_1761330038430_0.5543246272999593","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@automagik/telemetry","version":"0.1.3","keywords":["telemetry","opentelemetry","observability","privacy"],"author":{"name":"Automagik Team","email":"team@namastex.ai"},"license":"MIT","_id":"@automagik/telemetry@0.1.3","maintainers":[{"name":"namastexlabs","email":"genie@namastex.ai"}],"homepage":"https://github.com/namastexlabs/automagik-telemetry#readme","bugs":{"url":"https://github.com/namastexlabs/automagik-telemetry/issues"},"dist":{"shasum":"27f2da2fb0809d93ae96cf928567e87b0fc9867c","tarball":"https://registry.npmjs.org/@automagik/telemetry/-/telemetry-0.1.3.tgz","fileCount":22,"integrity":"sha512-Qv2YykT9xmEhqd3mKFNtA0gfEhb7tKoTvLFQRg2lh8L3WXwPNLHTk36iBYI15remme0kzr6U8bPVUkD5D/4PLA==","signatures":[{"sig":"MEQCIHpDgqbSohiR0rhv2xa6FHnN6yq+r9bwUXmljJ7/kUaZAiB2o9Ubmg+qS6Fr+/5PLXlgUI2kB67K7m60tnHXJiTl5Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":184157},"main":"./dist/index.js","_from":"file:automagik-telemetry-0.1.3.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"scripts":{"lint":"eslint src --ext .ts","test":"jest --coverage","build":"tsc","format":"prettier --write src","test:unit":"jest --coverage --testPathIgnorePatterns=integration","test:watch":"jest --watch","test:integration":"RUN_INTEGRATION_TESTS=true jest integration.test.ts --coverage=false","test:integration:clickhouse":"RUN_INTEGRATION_TESTS=true jest clickhouse.integration.test.ts --coverage=false"},"_npmUser":{"name":"namastexlabs","email":"genie@namastex.ai"},"_resolved":"/tmp/fa543e4e007fdba6e97c56415b9e0089/automagik-telemetry-0.1.3.tgz","_integrity":"sha512-Qv2YykT9xmEhqd3mKFNtA0gfEhb7tKoTvLFQRg2lh8L3WXwPNLHTk36iBYI15remme0kzr6U8bPVUkD5D/4PLA==","repository":{"url":"git+https://github.com/namastexlabs/automagik-telemetry.git","type":"git","directory":"typescript"},"_npmVersion":"10.8.2","description":"Privacy-first, opt-in telemetry SDK for the Automagik ecosystem","directories":{},"_nodeVersion":"20.19.5","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.0","ts-jest":"^29.1.0","prettier":"^3.2.0","typescript":"^5.4.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@typescript-eslint/parser":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/telemetry_0.1.3_1761330268876_0.20751330761638598","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2025-10-22T19:38:10.014Z","modified":"2025-11-09T18:05:51.225Z","0.0.1":"2025-10-22T19:38:10.318Z","0.1.1":"2025-10-24T18:16:31.815Z","0.1.2":"2025-10-24T18:20:38.646Z","0.1.3":"2025-10-24T18:24:29.061Z"},"bugs":{"url":"https://github.com/namastexlabs/automagik-telemetry/issues"},"author":{"name":"Automagik Team","email":"team@namastex.ai"},"license":"MIT","homepage":"https://github.com/namastexlabs/automagik-telemetry#readme","keywords":["telemetry","opentelemetry","observability","privacy"],"repository":{"url":"git+https://github.com/namastexlabs/automagik-telemetry.git","type":"git","directory":"typescript"},"description":"Privacy-first, opt-in telemetry SDK for the Automagik ecosystem","maintainers":[{"email":"genie@namastex.ai","name":"namastex888"}],"readme":"# Automagik Telemetry - TypeScript SDK\n\n> **📚 [Complete Documentation](../docs/INDEX.md)** | **🚀 [Main README](../README.md)** | **⚙️ [Configuration Guide](../docs/USER_GUIDES/CONFIGURATION.md)**\n\nPrivacy-first OpenTelemetry SDK for TypeScript/JavaScript applications with zero dependencies and 100% test coverage.\n\n## Installation\n\n```bash\nnpm install @automagik/telemetry\n# or\npnpm add @automagik/telemetry\n```\n\n**Requirements:** Node.js 18+\n\n## Quick Start\n\n```typescript\nimport { AutomagikTelemetry, MetricType } from '@automagik/telemetry';\n\n// Initialize client\nconst client = new AutomagikTelemetry({\n    projectName: 'my-app',\n    version: '1.0.0'\n});\n\n// Track events (traces)\nclient.trackEvent('user.login', {\n    userId: 'anonymous-123',\n    method: 'oauth'\n});\n\n// Track metrics (counter, gauge, histogram)\nclient.trackMetric('api.requests', 1, MetricType.COUNTER, {\n    endpoint: '/api/users',\n    status: 200\n});\n```\n\n## Key Configuration\n\n### Batch Size (Default: `batchSize=100`)\n\n```typescript\n// Default: Batch 100 events (optimized for performance)\nconst client = new AutomagikTelemetry({ projectName: 'my-app', version: '1.0.0' });\n\n// Disable batching for real-time apps\nconst client = new AutomagikTelemetry({\n    projectName: 'my-app',\n    version: '1.0.0',\n    batchSize: 1  // Send immediately\n});\n```\n\n### Backend Selection\n\n```typescript\n// OTLP Backend (default - production)\nconst client = new AutomagikTelemetry({\n    projectName: 'my-app',\n    version: '1.0.0',\n    endpoint: 'https://telemetry.namastex.ai'\n});\n\n// ClickHouse Backend (self-hosting)\nconst client = new AutomagikTelemetry({\n    projectName: 'my-app',\n    version: '1.0.0',\n    backend: 'clickhouse',\n    clickhouseEndpoint: 'http://localhost:8123'\n});\n```\n\n### Environment Variables\n\n```bash\n# Disable telemetry\nexport AUTOMAGIK_TELEMETRY_ENABLED=false\n\n# Auto-disable in development\nexport ENVIRONMENT=development\n\n# Custom OTLP endpoint\nexport AUTOMAGIK_TELEMETRY_ENDPOINT=https://your-collector.com\n\n# ClickHouse backend\nexport AUTOMAGIK_TELEMETRY_BACKEND=clickhouse\nexport AUTOMAGIK_TELEMETRY_CLICKHOUSE_ENDPOINT=http://localhost:8123\n```\n\nSee [Configuration Guide](../docs/USER_GUIDES/CONFIGURATION.md) for all options.\n\n### Graceful Shutdown\n\n```typescript\n// Ensure all telemetry is sent before app exits\nprocess.on('SIGTERM', async () => {\n    await client.shutdown();  // Flushes pending events\n    process.exit(0);\n});\n```\n\n## Development\n\n```bash\n# Install dependencies\npnpm install\n\n# Build\npnpm build\n\n# Run tests\npnpm test\n\n# Run tests with coverage\npnpm test -- --coverage\n\n# Linting\npnpm lint\n```\n\n## Documentation\n\n- **[Getting Started](../docs/GETTING_STARTED.md)** - Complete setup guide\n- **[Configuration](../docs/USER_GUIDES/CONFIGURATION.md)** - All configuration options\n- **[Backends Guide](../docs/USER_GUIDES/BACKENDS.md)** - OTLP vs ClickHouse comparison\n- **[API Reference](../docs/REFERENCES/API_REFERENCE.md)** - Complete API documentation\n- **[SDK Differences](../docs/DEVELOPER_GUIDES/SDK_DIFFERENCES.md)** - Python vs TypeScript\n- **[Troubleshooting](../docs/REFERENCES/TROUBLESHOOTING.md)** - Common issues and solutions\n\n## TypeScript-Specific Features\n\n- **Fire-and-forget async:** All methods return void but handle async internally\n- **camelCase naming:** Follows JavaScript conventions (`trackEvent`, `projectName`)\n- **Strict TypeScript:** Full type safety with strict mode enabled\n- **Time units:** `flushInterval` in milliseconds (number)\n\nSee [SDK Differences](../docs/DEVELOPER_GUIDES/SDK_DIFFERENCES.md) for Python vs TypeScript comparison.\n\n## License\n\nMIT - see [LICENSE](../LICENSE) for details.\n","readmeFilename":"README.md"}