UNPKG

@copilotkit/runtime

Version:

<img src="https://github.com/user-attachments/assets/0a6b64d9-e193-4940-a3f6-60334ac34084" alt="banner" style="border-radius: 12px; border: 2px solid #d6d4fa;" />

51 lines (49 loc) 2 kB
import "reflect-metadata"; import { __toESM } from "../../../_virtual/_rolldown/runtime.mjs"; import { require_package } from "../../../package.mjs"; import { lambdaClient, parseAndWarnTelemetryId } from "@copilotkit/shared"; //#region src/v2/runtime/telemetry/telemetry-client.ts var import_package = /* @__PURE__ */ __toESM(require_package()); function isTelemetryDisabled$1() { return process.env.COPILOTKIT_TELEMETRY_DISABLED === "true" || process.env.COPILOTKIT_TELEMETRY_DISABLED === "1" || process.env.DO_NOT_TRACK === "true" || process.env.DO_NOT_TRACK === "1"; } var TelemetryClient$1 = class { constructor({ telemetryDisabled, sampleRate } = {}) { this.telemetryDisabled = false; this.sampleRate = .05; this.licenseToken = null; this.telemetryId = null; this.telemetryDisabled = telemetryDisabled ?? isTelemetryDisabled$1(); this.setSampleRate(sampleRate); } shouldSendEvent() { if (this.sampleRate >= 1) return true; return Math.random() < this.sampleRate; } setLicenseToken(licenseToken) { this.licenseToken = licenseToken; this.telemetryId = parseAndWarnTelemetryId(licenseToken); } async capture(event, properties) { if (this.telemetryDisabled) return; if (!this.telemetryId && !this.shouldSendEvent()) return; await lambdaClient.send({ event, properties, packageName: import_package.name, packageVersion: import_package.version, licenseToken: this.licenseToken ?? void 0 }); } setSampleRate(sampleRate) { let _sampleRate; _sampleRate = sampleRate ?? .05; if (process.env.COPILOTKIT_TELEMETRY_SAMPLE_RATE) _sampleRate = parseFloat(process.env.COPILOTKIT_TELEMETRY_SAMPLE_RATE); if (Number.isNaN(_sampleRate) || _sampleRate < 0 || _sampleRate > 1) throw new Error("Sample rate must be between 0 and 1"); this.sampleRate = _sampleRate; } }; const telemetry = new TelemetryClient$1(); //#endregion export { telemetry as default, isTelemetryDisabled$1 as isTelemetryDisabled }; //# sourceMappingURL=telemetry-client.mjs.map