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;" />

52 lines (50 loc) 2.05 kB
require("reflect-metadata"); const require_runtime = require('../../../_virtual/_rolldown/runtime.cjs'); const require_package$1 = require('../../../package.cjs'); let _copilotkit_shared = require("@copilotkit/shared"); //#region src/v2/runtime/telemetry/telemetry-client.ts var import_package = /* @__PURE__ */ require_runtime.__toESM(require_package$1.default); function isTelemetryDisabled() { 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 = class { constructor({ telemetryDisabled, sampleRate } = {}) { this.telemetryDisabled = false; this.sampleRate = .05; this.licenseToken = null; this.telemetryId = null; this.telemetryDisabled = telemetryDisabled ?? isTelemetryDisabled(); this.setSampleRate(sampleRate); } shouldSendEvent() { if (this.sampleRate >= 1) return true; return Math.random() < this.sampleRate; } setLicenseToken(licenseToken) { this.licenseToken = licenseToken; this.telemetryId = (0, _copilotkit_shared.parseAndWarnTelemetryId)(licenseToken); } async capture(event, properties) { if (this.telemetryDisabled) return; if (!this.telemetryId && !this.shouldSendEvent()) return; await _copilotkit_shared.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(); //#endregion exports.default = telemetry; exports.isTelemetryDisabled = isTelemetryDisabled; //# sourceMappingURL=telemetry-client.cjs.map