@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;" />
62 lines (60 loc) • 2.43 kB
JavaScript
require("reflect-metadata");
const require_telemetry_client = require('../telemetry/telemetry-client.cjs');
const require_runtime = require('../core/runtime.cjs');
//#region src/v2/runtime/handlers/get-runtime-info.ts
function resolveLicenseStatus(runtime) {
if (!runtime.licenseChecker) return "none";
const status = runtime.licenseChecker.getStatus();
if (status.warningSeverity === "none") return "valid";
if (status.error === "expired") return "expired";
if (status.warningSeverity === "warning") return "expiring";
if (status.error) return "invalid";
if (status.warningSeverity === "info") return "none";
return "unknown";
}
async function handleGetRuntimeInfo({ runtime, request }) {
try {
const agents = await require_runtime.resolveAgents(runtime.agents, request);
const agentEntries = await Promise.all(Object.entries(agents).map(async ([name, agent]) => {
let capabilities;
try {
capabilities = agent.getCapabilities ? await agent.getCapabilities() : void 0;
} catch (error) {
console.warn(`Failed to fetch capabilities for agent "${name}":`, error instanceof Error ? error.message : error);
capabilities = void 0;
}
return [name, {
name,
description: agent.description,
className: agent.constructor.name,
...capabilities ? { capabilities } : {}
}];
}));
const runtimeInfo = {
version: require_runtime.VERSION,
agents: Object.fromEntries(agentEntries),
audioFileTranscriptionEnabled: !!runtime.transcriptionService,
mode: runtime.mode,
...require_runtime.isIntelligenceRuntime(runtime) ? { intelligence: { wsUrl: runtime.intelligence.ɵgetClientWsUrl() } } : {},
a2uiEnabled: !!runtime.a2ui,
openGenerativeUIEnabled: !!runtime.openGenerativeUI,
...require_runtime.isIntelligenceRuntime(runtime) ? { licenseStatus: resolveLicenseStatus(runtime) } : {},
telemetryDisabled: require_telemetry_client.isTelemetryDisabled()
};
return new Response(JSON.stringify(runtimeInfo), {
status: 200,
headers: { "Content-Type": "application/json" }
});
} catch (error) {
return new Response(JSON.stringify({
error: "Failed to retrieve runtime information",
message: error instanceof Error ? error.message : "Unknown error"
}), {
status: 500,
headers: { "Content-Type": "application/json" }
});
}
}
//#endregion
exports.handleGetRuntimeInfo = handleGetRuntimeInfo;
//# sourceMappingURL=get-runtime-info.cjs.map