libmodulor
Version:
A TypeScript library to create platform-agnostic applications
39 lines (38 loc) • 2.37 kB
TypeScript
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
import type { Transport } from '@modelcontextprotocol/sdk/shared/transport.js';
import type { AppManifest } from '../../app/index.js';
import type { DirPath, URLPath } from '../../dt/index.js';
import { WordingManager } from '../../i18n/index.js';
import type { ProductManifest, ProductUCsLoaderOutput } from '../../product/index.js';
import type { Configurable, LoggerSettings, SettingsManager } from '../../std/index.js';
import { UCBuilder, type UCDef, type UCInput, type UCManager, type UCOPIBase, type UCTransportContract } from '../../uc/index.js';
import { MCPStdioRequestHandler } from '../lib/mcp-server/stdio/MCPStdioRequestHandler.js';
import type { OpenAPISpec } from '../lib/openapi/types.js';
import type { ServerManager } from '../lib/server/ServerManager.js';
type S = Pick<LoggerSettings, 'logger_level'>;
export declare class NodeMCPStdioServerManager implements Configurable<S>, ServerManager {
private requestHandler;
private productManifest;
private settingsManager;
private ucBuilder;
private ucManager;
private wordingManager;
protected mcpServer: McpServer;
protected transport: Transport;
constructor(requestHandler: MCPStdioRequestHandler, productManifest: ProductManifest, settingsManager: SettingsManager<S>, ucBuilder: UCBuilder, ucManager: UCManager, wordingManager: WordingManager);
s(): S;
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: UCTransportContract): 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: UCTransportContract): 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 initCommon;
private mountCommon;
}
export {};