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

66 lines (65 loc) 2.57 kB
require("reflect-metadata"); import { CopilotRuntimeLike } from "../core/runtime.cjs"; import { CopilotRuntimeHooks } from "../core/hooks.cjs"; import { ActivateChannelEngine, ChannelsControl } from "../core/channel-manager.cjs"; import { Router } from "express"; import { CorsOptions } from "cors"; //#region src/v2/runtime/endpoints/express.d.ts /** * An Express {@link Router} that may also carry an optional * {@link ChannelsControl} surface. The Router object itself is request-scoped * middleware, but an Express app can only run inside a long-running * `http.Server` — so this wrapper is a lifecycle-owning host like * `createCopilotNodeListener`: it STARTS activation of the runtime's declared * managed Channels at creation, and `.channels` is here to observe (`ready()`) * or tear down (`stop()`) that activation. */ type CopilotExpressRouter = Router & { channels?: ChannelsControl; }; interface CopilotExpressEndpointParams { runtime: CopilotRuntimeLike; basePath: string; /** * Endpoint mode. * - `"multi-route"` (default): separate routes for each operation * - `"single-route"`: single POST endpoint with JSON envelope dispatch */ mode?: "multi-route" | "single-route"; /** * CORS configuration for the Express router. * - `true` (default): permissive CORS (`origin: "*"`, all methods, all headers). * - `false`: no CORS middleware is applied — handle it yourself. * - object: passed directly to the Express `cors()` middleware. */ cors?: boolean | CorsOptions; /** * Lifecycle hooks for request processing. */ hooks?: CopilotRuntimeHooks; /** * Whether the underlying handler builds the control surface for the runtime's * declared managed Channels — and, because Express is a long-running host, * starts their activation at creation. Defaults to `true`. Set `false` to * build no surface and open no socket (tests, short-lived scripts). See * `CopilotRuntimeHandlerOptions.activateChannels`. */ activateChannels?: boolean; /** * @internal Test seam: inject a fake Channel activation engine. Forwarded * to `createCopilotRuntimeHandler`. Not part of the public API. */ __channelEngine?: ActivateChannelEngine; } declare function createCopilotExpressHandler({ runtime, basePath, mode, cors: corsOption, hooks, activateChannels, __channelEngine }: CopilotExpressEndpointParams): CopilotExpressRouter; //#endregion export { CopilotExpressEndpointParams, CopilotExpressRouter, createCopilotExpressHandler }; //# sourceMappingURL=express.d.cts.map