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

44 lines (42 loc) 1.38 kB
require("reflect-metadata"); const require_runtime = require('../../_virtual/_rolldown/runtime.cjs'); const require_utils = require('./utils.cjs'); let _copilotkit_shared = require("@copilotkit/shared"); //#region src/service-adapters/langchain/langchain-adapter.ts var LangChainAdapter = class { /** * To use LangChain as a backend, provide a handler function to the adapter with your custom LangChain logic. */ get name() { return "LangChainAdapter"; } constructor(options) { this.options = options; } async process(request) { try { const { eventSource, model, actions, messages, runId, threadId: threadIdFromRequest } = request; const threadId = threadIdFromRequest ?? (0, _copilotkit_shared.randomUUID)(); const result = await this.options.chainFn({ messages: messages.map(require_utils.convertMessageToLangChainMessage), tools: actions.map(require_utils.convertActionInputToLangChainTool), model, threadId, runId }); eventSource.stream(async (eventStream$) => { await require_utils.streamLangChainResponse({ result, eventStream$ }); }); return { threadId }; } finally { const { awaitAllCallbacks } = require("@langchain/core/callbacks/promises"); await awaitAllCallbacks(); } } }; //#endregion exports.LangChainAdapter = LangChainAdapter; //# sourceMappingURL=langchain-adapter.cjs.map