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

54 lines (52 loc) 1.97 kB
import "reflect-metadata"; import { require_package } from "../package.mjs"; import { EndpointType } from "./runtime/types.mjs"; import { resolveEndpointType } from "./runtime/copilot-runtime.mjs"; import { TelemetryClient } from "@copilotkit/shared"; import { createHash } from "node:crypto"; //#region src/lib/telemetry-client.ts const packageJson = require_package(); const telemetryClient = new TelemetryClient({ packageName: packageJson.name, packageVersion: packageJson.version }); function getRuntimeInstanceTelemetryInfo(options) { const runtime = options.runtime; const remoteEndpoints = runtime.params?.remoteEndpoints ?? []; const endpointsInfo = remoteEndpoints.reduce((acc, endpoint) => { let info = { ...acc }; const endpointType = resolveEndpointType(endpoint); if (!info.endpointTypes.includes(endpointType)) info = { ...info, endpointTypes: [...info.endpointTypes, endpointType] }; if (endpointType === EndpointType.LangGraphPlatform) { const ep = endpoint; info = { ...info, agentsAmount: ep.agents.length, hashedKey: ep.langsmithApiKey ? createHash("sha256").update(ep.langsmithApiKey).digest("hex") : null }; } return info; }, { endpointTypes: [], agentsAmount: null, hashedKey: null }); const publicApiKey = options.cloud?.publicApiKey; const apiKeyProvided = !!publicApiKey && publicApiKey.trim().length > 0; return { actionsAmount: runtime.params?.actions?.length ?? 0, endpointsAmount: remoteEndpoints.length, endpointTypes: endpointsInfo.endpointTypes, agentsAmount: Object.keys(runtime.instance.agents).length, hashedLgcKey: endpointsInfo.hashedKey, "cloud.api_key_provided": apiKeyProvided, ...apiKeyProvided ? { "cloud.public_api_key": publicApiKey } : {}, ...options.cloud?.baseUrl ? { "cloud.base_url": options.cloud.baseUrl } : {} }; } //#endregion export { telemetryClient as default, getRuntimeInstanceTelemetryInfo }; //# sourceMappingURL=telemetry-client.mjs.map