@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
JavaScript
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