@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;" />
41 lines (39 loc) • 1.47 kB
JavaScript
require("reflect-metadata");
const require_fetch_handler = require('../core/fetch-handler.cjs');
const require_node_fetch_handler = require('./node-fetch-handler.cjs');
//#region src/v2/runtime/endpoints/node.ts
/**
* Convenience wrapper for creating a Node.js HTTP request listener
* from CopilotKit runtime handler options.
*
* When the runtime declares managed Channels (and activation was not opted
* out of via `activateChannels: false`), the returned listener exposes
* `.channels` — the same {@link ChannelsControl} surface the underlying
* fetch handler activates at creation time.
*
* @example
* ```typescript
* import { createServer } from "node:http";
* import { CopilotRuntime } from "@copilotkit/runtime/v2";
* import { createCopilotNodeListener } from "@copilotkit/runtime/v2/node";
*
* const listener = createCopilotNodeListener({
* runtime: new CopilotRuntime({ agents: { ... } }),
* basePath: "/api/copilotkit",
* cors: true,
* });
* createServer(listener).listen(3000);
*
* // Optional: observe/stop managed Channel activation.
* await listener.channels?.ready();
* ```
*/
function createCopilotNodeListener(options) {
const handler = require_fetch_handler.createCopilotRuntimeHandler(options);
const listener = require_node_fetch_handler.createCopilotNodeHandler(handler);
listener.channels = handler.channels;
return listener;
}
//#endregion
exports.createCopilotNodeListener = createCopilotNodeListener;
//# sourceMappingURL=node.cjs.map