UNPKG

@kya-os/mcp-i

Version:

The TypeScript MCP framework with identity features built-in

59 lines (58 loc) 2.28 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const server_1 = require("../../utils/server"); const stateless_streamable_http_1 = require("./stateless-streamable-http"); // @ts-expect-error: injected by compiler const httpConfig = HTTP_CONFIG; // @ts-expect-error: injected by compiler const corsConfig = HTTP_CORS_CONFIG; // middleware // @ts-expect-error: injected by compiler const middleware = INJECTED_MIDDLEWARE; // oauth config // @ts-expect-error: injected by compiler const oauthConfigRaw = OAUTH_CONFIG; const oauthConfig = (oauthConfigRaw && typeof oauthConfigRaw === 'string' ? JSON.parse(oauthConfigRaw) : oauthConfigRaw); async function main() { const options = { port: httpConfig?.port, host: httpConfig?.host, debug: httpConfig?.debug, bodySizeLimit: httpConfig?.bodySizeLimit?.toString(), endpoint: httpConfig?.endpoint, }; const corsOptions = { origin: corsConfig.origin, methods: corsConfig.methods, allowedHeaders: corsConfig.allowedHeaders, exposedHeaders: corsConfig.exposedHeaders, credentials: corsConfig.credentials, maxAge: corsConfig.maxAge, }; let middlewareFn = undefined; if (middleware) { const middlewareModule = await middleware(); if (middlewareModule && middlewareModule.default) { const defaultExport = middlewareModule.default; if (Array.isArray(defaultExport)) { // Handle array of middlewares middlewareFn = defaultExport.filter((mw) => typeof mw === "function"); } else if (typeof defaultExport === "function") { // Handle single middleware middlewareFn = [defaultExport]; } else { throw new Error("Middleware module does not export a valid RequestHandler or array of RequestHandlers"); } } else { throw new Error("Middleware module does not export a default middleware"); } } const transport = new stateless_streamable_http_1.StatelessStreamableHTTPTransport(server_1.createServer, options, corsOptions, oauthConfig, middlewareFn); transport.start(); } main();