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

90 lines (88 loc) 3.71 kB
require("reflect-metadata"); const require_runtime = require('../../../../_virtual/_rolldown/runtime.cjs'); const require_runtime$1 = require('../../core/runtime.cjs'); const require_open_generative_ui_middleware = require('../../open-generative-ui-middleware.cjs'); const require_header_utils = require('../header-utils.cjs'); let _copilotkit_shared = require("@copilotkit/shared"); let _ag_ui_client = require("@ag-ui/client"); let _ag_ui_a2ui_middleware = require("@ag-ui/a2ui-middleware"); let _ag_ui_mcp_apps_middleware = require("@ag-ui/mcp-apps-middleware"); //#region src/v2/runtime/handlers/shared/agent-utils.ts async function cloneAgentForRequest(runtime, agentId, request) { const agents = await require_runtime$1.resolveAgents(runtime.agents, request); if (!agents[agentId]) return new Response(JSON.stringify({ error: "Agent not found", message: `Agent '${agentId}' does not exist` }), { status: 404, headers: { "Content-Type": "application/json" } }); return agents[agentId].clone(); } function configureAgentForRequest(params) { const { runtime, request, agentId } = params; const agent = params.agent; if (runtime.a2ui) { const { agents: targetAgents, ...a2uiOptions } = runtime.a2ui; if ((!targetAgents || targetAgents.includes(agentId)) && typeof agent.use === "function") agent.use(new _ag_ui_a2ui_middleware.A2UIMiddleware(a2uiOptions)); } if (runtime.mcpApps?.servers?.length) { const mcpServers = runtime.mcpApps.servers.filter((server) => !server.agentId || server.agentId === agentId).map((server) => { const mcpServer = { ...server }; delete mcpServer.agentId; return mcpServer; }); if (mcpServers.length > 0 && typeof agent.use === "function") agent.use(new _ag_ui_mcp_apps_middleware.MCPAppsMiddleware({ mcpServers })); } if (runtime.openGenerativeUI) { const config = runtime.openGenerativeUI; const targetAgents = typeof config === "object" ? config.agents : void 0; if ((!targetAgents || targetAgents.includes(agentId)) && typeof agent.use === "function") agent.use(new require_open_generative_ui_middleware.OpenGenerativeUIMiddleware()); } agent.headers = { ...agent.headers, ...require_header_utils.extractForwardableHeaders(request) }; } async function parseRunRequest(request) { try { const requestBody = await request.json(); return _ag_ui_client.RunAgentInputSchema.parse(requestBody); } catch (error) { _copilotkit_shared.logger.error("Invalid run request body:", error); return new Response(JSON.stringify({ error: "Invalid request body", details: error instanceof Error ? error.message : String(error) }), { status: 400, headers: { "Content-Type": "application/json" } }); } } async function parseConnectRequest(request) { try { const requestBody = await request.json(); const input = _ag_ui_client.RunAgentInputSchema.parse(requestBody); let lastSeenEventId = null; if ("lastSeenEventId" in requestBody && (typeof requestBody.lastSeenEventId === "string" || requestBody.lastSeenEventId === null)) lastSeenEventId = requestBody.lastSeenEventId ?? null; return { input, lastSeenEventId }; } catch (error) { _copilotkit_shared.logger.error("Invalid connect request body:", error); return new Response(JSON.stringify({ error: "Invalid request body", details: error instanceof Error ? error.message : String(error) }), { status: 400, headers: { "Content-Type": "application/json" } }); } } //#endregion exports.cloneAgentForRequest = cloneAgentForRequest; exports.configureAgentForRequest = configureAgentForRequest; exports.parseConnectRequest = parseConnectRequest; exports.parseRunRequest = parseRunRequest; //# sourceMappingURL=agent-utils.cjs.map