Lines 2-42javascript
2import { hostname } from "os";
3import { readFileSync, writeFileSync, existsSync } from "fs";
4import { join } from "path";
5import { CONFIG_DIR, getUserContext } from "./config.js";
6const TELEMETRY_FILE = join(CONFIG_DIR, "telemetry.json");
7// ── Trace ID (propagated to API for correlation) ──
9export function getTraceId() {
11 // Generate a 64-bit hex trace ID compatible with Datadog
12 _traceId = randomBytes(8).toString("hex");
17function loadTelemetryConfig() {
18 if (!existsSync(TELEMETRY_FILE)) {
19 return { enabled: false, anonymousId: randomUUID() };
22 const raw = readFileSync(TELEMETRY_FILE, "utf-8");
23 return JSON.parse(raw);
26 return { enabled: false, anonymousId: randomUUID() };
29function saveTelemetryConfig(config) {
30 writeFileSync(TELEMETRY_FILE, JSON.stringify(config, null, 2), { mode: 0o600 });
32export function isTelemetryEnabled() {
33 // Env override: DD_API_KEY must be set, and telemetry must be opted in
34 if (!process.env.DD_API_KEY)
35 return false;
HighSandbox Evasion Gated Capability
Source gates dangerous network, credential, or execution behavior behind CI, host, platform, time, or geo fingerprint checks.
dist/telemetry.jsView on unpkg · L22 36 const config = loadTelemetryConfig();
37 return config.enabled;
39export function setTelemetryEnabled(enabled) {
40 const config = loadTelemetryConfig();
41 config.enabled = enabled;
42 if (!config.anonymousId)