@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;" />
56 lines (54 loc) • 2.18 kB
JavaScript
require("reflect-metadata");
const require_runtime = require('../_virtual/_rolldown/runtime.cjs');
const require_package$1 = require('../package.cjs');
const require_types = require('./runtime/types.cjs');
const require_copilot_runtime = require('./runtime/copilot-runtime.cjs');
let _copilotkit_shared = require("@copilotkit/shared");
let node_crypto = require("node:crypto");
//#region src/lib/telemetry-client.ts
const packageJson = require_package$1.default;
const telemetryClient = new _copilotkit_shared.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 = require_copilot_runtime.resolveEndpointType(endpoint);
if (!info.endpointTypes.includes(endpointType)) info = {
...info,
endpointTypes: [...info.endpointTypes, endpointType]
};
if (endpointType === require_types.EndpointType.LangGraphPlatform) {
const ep = endpoint;
info = {
...info,
agentsAmount: ep.agents.length,
hashedKey: ep.langsmithApiKey ? (0, node_crypto.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
exports.default = telemetryClient;
exports.getRuntimeInstanceTelemetryInfo = getRuntimeInstanceTelemetryInfo;
//# sourceMappingURL=telemetry-client.cjs.map