Source identity
| Field | Recorded value |
|---|---|
| Source type | GitHub source |
| Original record | Janady13/llms-txt-hub / packages/cli/src/lib/telemetry.ts |
| Date | Not specified in source |
| Repository | Janady13/llms-txt-hub |
| Revision | e0f4bf978d4df168369c7601d9c5f5ea89e84377 |
| Branch | main |
| Path or archive member | packages/cli/src/lib/telemetry.ts |
| Original SHA-256 | c56aac74bd976d81290b8e1eb2c5f307c145df06899afb7bc83b5b045be569e8 |
| Git blob SHA | 8ccf2809bea9214a9e3639d338a19db8079a038f |
| Reading-copy SHA-256 | c56aac74bd976d81290b8e1eb2c5f307c145df06899afb7bc83b5b045be569e8 |
Recovered source transcript
Download complete source text ↓43 lines · 1.0 KB
const TELEMETRY_ENDPOINT = 'https://llmstxthub.com/api/cli/telemetry'
const CLI_VERSION = __CLI_VERSION__
const CI_ENV_VARS = ['CI', 'GITHUB_ACTIONS', 'GITLAB_CI', 'CIRCLECI', 'TRAVIS']
/**
* Check if telemetry is disabled via environment variables.
*/
function isDisabled(): boolean {
return process.env.DO_NOT_TRACK === '1' || process.env.LLMSTXT_TELEMETRY_DISABLED === '1'
}
/**
* Detect if running in a CI environment.
*/
function isCI(): boolean {
return CI_ENV_VARS.some(v => process.env[v])
}
interface TrackParams {
event: 'install' | 'remove' | 'init' | 'update' | 'search'
skills?: string
agents?: string
}
/**
* Fire-and-forget telemetry. Never blocks, never throws.
*/
export function track(params: TrackParams): void {
if (isDisabled()) return
fetch(TELEMETRY_ENDPOINT, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
...params,
version: CLI_VERSION,
ci: isCI() || undefined
}),
signal: AbortSignal.timeout(5000)
}).catch(() => {})
}