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

57 lines (55 loc) 1.97 kB
import "reflect-metadata"; import { isHandlerResponse } from "../shared/json-response.mjs"; import { getPlatformErrorStatus } from "../shared/intelligence-utils.mjs"; import { resolveIntelligenceUser } from "../shared/resolve-intelligence-user.mjs"; //#region src/v2/runtime/handlers/intelligence/connect.ts /** * Builds browser-facing realtime connection metadata owned by the runtime. */ function buildRealtimeConnectionInfo(params) { return { clientUrl: params.clientUrl, topic: `thread:${params.threadId}` }; } async function handleIntelligenceConnect({ runtime, request, agentId, threadId }) { if (!runtime.intelligence) return Response.json({ error: "Intelligence not configured", message: "Intelligence mode requires a CopilotKitIntelligence" }, { status: 500 }); try { const user = await resolveIntelligenceUser({ runtime, request }); if (isHandlerResponse(user)) return user; const result = await runtime.intelligence.ɵconnectThread({ threadId, userId: user.id, agentId }); if (result === null) return new Response(null, { status: 204 }); return Response.json({ threadId: result.threadId, joinToken: result.joinToken, realtime: buildRealtimeConnectionInfo({ clientUrl: runtime.intelligence.ɵgetClientWsUrl(), threadId: result.threadId }) }, { headers: { "Cache-Control": "no-cache", Connection: "keep-alive" } }); } catch (error) { const status = getPlatformErrorStatus(error); if (status === 400 || status === 401 || status === 403 || status === 404 || status === 409) return Response.json({ error: "Connect request rejected", message: error instanceof Error ? error.message : "Intelligence platform rejected the connect request" }, { status }); console.error("Connect plan not available:", error); return Response.json({ error: "Connect plan not available" }, { status: 404 }); } } //#endregion export { handleIntelligenceConnect }; //# sourceMappingURL=connect.mjs.map