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

62 lines (60 loc) 2.34 kB
import "reflect-metadata"; import { isTelemetryDisabled } from "../telemetry/telemetry-client.mjs"; import { VERSION, isIntelligenceRuntime, resolveAgents } from "../core/runtime.mjs"; //#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 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: VERSION, agents: Object.fromEntries(agentEntries), audioFileTranscriptionEnabled: !!runtime.transcriptionService, mode: runtime.mode, ...isIntelligenceRuntime(runtime) ? { intelligence: { wsUrl: runtime.intelligencegetClientWsUrl() } } : {}, a2uiEnabled: !!runtime.a2ui, openGenerativeUIEnabled: !!runtime.openGenerativeUI, ...isIntelligenceRuntime(runtime) ? { licenseStatus: resolveLicenseStatus(runtime) } : {}, telemetryDisabled: 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 export { handleGetRuntimeInfo }; //# sourceMappingURL=get-runtime-info.mjs.map