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) 2.1 kB
require("reflect-metadata"); const require_json_response = require('../shared/json-response.cjs'); const require_intelligence_utils = require('../shared/intelligence-utils.cjs'); const require_resolve_intelligence_user = require('../shared/resolve-intelligence-user.cjs'); //#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 require_resolve_intelligence_user.resolveIntelligenceUser({ runtime, request }); if (require_json_response.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 = require_intelligence_utils.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 exports.handleIntelligenceConnect = handleIntelligenceConnect; //# sourceMappingURL=connect.cjs.map