UNPKG

libmodulor

Version:

A TypeScript library to create platform-agnostic applications

49 lines (48 loc) 3.39 kB
import { type Express, type RequestHandler } from 'express'; import type { AppManifest } from '../../app/index.js'; import type { DirPath, URLPath } from '../../dt/index.js'; import type { ProductUCsLoaderOutput } from '../../product/index.js'; import type { Configurable, EnvironmentManager, Logger, LoggerSettings, SettingsManager } from '../../std/index.js'; import type { UCDef, UCHTTPContract, UCInput, UCManager, UCOPIBase } from '../../uc/index.js'; import type { MCPHTTPRequestHandlerBuilder } from '../lib/mcp-server/http/MCPHTTPRequestHandlerBuilder.js'; import type { OpenAPISpec } from '../lib/openapi/types.js'; import { CustomerFacingErrorBuilder } from '../lib/server/CustomerFacingErrorBuilder.js'; import { EntrypointsBuilder } from '../lib/server/EntrypointsBuilder.js'; import type { ServerManager, ServerManagerSettings } from '../lib/server/ServerManager.js'; import { ServerRequestHandler } from '../lib/server/ServerRequestHandler.js'; import { CORSMiddlewareBuilder } from '../lib/server-express/CORSMiddlewareBuilder.js'; import { HelmetMiddlewareBuilder } from '../lib/server-express/HelmetMiddlewareBuilder.js'; import { NodeHTTPServerCreator } from '../lib/server-node/NodeHTTPServerCreator.js'; import type { ListenSettings, StopSettings } from '../lib/server-node/types.js'; type S = ListenSettings & Pick<LoggerSettings, 'logger_level'> & Pick<ServerManagerSettings, 'server_tmp_path'> & StopSettings; export declare class NodeExpressServerManager implements Configurable<S>, ServerManager { private corsMiddlewareBuilder; private customerFacingErrorBuilder; private entrypointsBuilder; protected environmentManager: EnvironmentManager; private helmetMiddlewareBuilder; protected logger: Logger; private nodeHTTPServerCreator; private mcpHTTPRequestHandlerBuilder; private serverRequestHandler; private settingsManager; private ucManager; protected runtime: Express; private server; constructor(corsMiddlewareBuilder: CORSMiddlewareBuilder, customerFacingErrorBuilder: CustomerFacingErrorBuilder, entrypointsBuilder: EntrypointsBuilder, environmentManager: EnvironmentManager, helmetMiddlewareBuilder: HelmetMiddlewareBuilder, logger: Logger, nodeHTTPServerCreator: NodeHTTPServerCreator, mcpHTTPRequestHandlerBuilder: MCPHTTPRequestHandlerBuilder<RequestHandler>, serverRequestHandler: ServerRequestHandler, settingsManager: SettingsManager<S>, ucManager: UCManager); s(): S; getRuntime(): Express; overrideUCManager(ucManager: UCManager): void; init(): Promise<void>; initSync(): void; mount<I extends UCInput | undefined = undefined, OPI0 extends UCOPIBase | undefined = undefined, OPI1 extends UCOPIBase | undefined = undefined>(appManifest: AppManifest, ucd: UCDef<I, OPI0, OPI1>, contract: UCHTTPContract): Promise<void>; mountSync<I extends UCInput | undefined = undefined, OPI0 extends UCOPIBase | undefined = undefined, OPI1 extends UCOPIBase | undefined = undefined>(appManifest: AppManifest, ucd: UCDef<I, OPI0, OPI1>, contract: UCHTTPContract): void; mountMCP(ucs: ProductUCsLoaderOutput, at: URLPath): Promise<void>; mountOpenAPISpec(spec: OpenAPISpec, at: URLPath): Promise<void>; mountStaticDir(dirPath: DirPath): Promise<void>; start(): Promise<void>; stop(): Promise<void>; warmUp(): Promise<void>; private mountCommon; } export {};