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

63 lines (61 loc) 2.02 kB
require("reflect-metadata"); const require_runtime = require('../../../_virtual/_rolldown/runtime.cjs'); const require_fetch_handler = require('../core/fetch-handler.cjs'); const require_express_fetch_bridge = require('./express-fetch-bridge.cjs'); let express = require("express"); express = require_runtime.__toESM(express); let cors = require("cors"); cors = require_runtime.__toESM(cors); //#region src/v2/runtime/endpoints/express.ts function createCopilotExpressHandler({ runtime, basePath, mode = "multi-route", cors: corsOption = true, hooks }) { const normalizedBase = normalizeBasePath(basePath); const nodeHandler = require_express_fetch_bridge.createExpressNodeHandler(require_fetch_handler.createCopilotRuntimeHandler({ runtime, basePath: normalizedBase, mode, cors: false, hooks })); const expressHandler = async (req, res, next) => { try { await nodeHandler(req, res); } catch (err) { next(err); } }; const router = express.default.Router(); if (corsOption) { const corsConfig = corsOption === true ? { origin: "*", methods: [ "GET", "HEAD", "PUT", "POST", "DELETE", "PATCH", "OPTIONS" ], allowedHeaders: ["*"] } : corsOption; router.use((0, cors.default)(corsConfig)); } if (mode === "single-route") { router.post(normalizedBase, expressHandler); router.options(normalizedBase, expressHandler); } else if (normalizedBase === "/") router.all(/.*/, expressHandler); else router.all(new RegExp(`^${escapeRegExp(normalizedBase)}(\\/.*)?$`), expressHandler); return router; } function escapeRegExp(s) { return s.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); } function normalizeBasePath(path) { if (!path) throw new Error("basePath must be provided for Express endpoint"); if (!path.startsWith("/")) return `/${path}`; if (path.length > 1 && path.endsWith("/")) return path.slice(0, -1); return path; } //#endregion exports.createCopilotExpressHandler = createCopilotExpressHandler; //# sourceMappingURL=express.cjs.map