Skip to main content
Glama
masx200

Persistent Terminal MCP Server

by masx200
terminal-manager.d.ts2.65 kB
import { EventEmitter } from "events"; import { TerminalSession, TerminalCreateOptions, TerminalWriteOptions, TerminalReadOptions, TerminalReadResult, TerminalListResult, TerminalManagerConfig, TerminalStatsResult, } from "./types.js"; /** * 终端会话管理器 * 负责创建、管理和维护持久化的终端会话 */ export declare class TerminalManager extends EventEmitter { private sessions; private ptyProcesses; private outputBuffers; private exitPromises; private exitResolvers; private config; private cleanupTimer; constructor(config?: TerminalManagerConfig); /** * 创建新的终端会话 */ createTerminal(options?: TerminalCreateOptions): Promise<string>; /** * 向终端写入数据 */ writeToTerminal(options: TerminalWriteOptions): Promise<void>; private normalizeNewlines; private shouldAutoAppendNewline; /** * 从终端读取输出 */ readFromTerminal(options: TerminalReadOptions): Promise<TerminalReadResult>; /** * 获取终端统计信息 */ getTerminalStats(terminalId: string): Promise<TerminalStatsResult>; /** * 检查终端是否正在运行命令 * 通过检查最后一次活动时间来判断 */ isTerminalBusy(terminalId: string): boolean; /** * 等待终端输出稳定 * 用于确保命令执行完成后再读取输出 */ waitForOutputStable( terminalId: string, timeout?: number, stableTime?: number, ): Promise<void>; /** * 列出所有终端会话 */ listTerminals(): Promise<TerminalListResult>; /** * 终止终端会话 */ killTerminal(terminalId: string, signal?: string): Promise<void>; /** * 获取终端会话信息 */ getTerminalInfo(terminalId: string): TerminalSession | undefined; /** * 检查终端是否存在且活跃 */ isTerminalActive(terminalId: string): boolean; /** * 调整终端大小 */ resizeTerminal(terminalId: string, cols: number, rows: number): Promise<void>; /** * 清理指定会话 */ private cleanupSession; private waitForPtyExit; /** * 清理超时的会话 */ private cleanupTimeoutSessions; /** * 获取管理器统计信息 */ getStats(): { activeSessions: number; totalSessions: number; totalBufferSize: number; config: Required<TerminalManagerConfig>; }; /** * 关闭管理器,清理所有资源 */ shutdown(): Promise<void>; private processBufferEntries; private trackCommand; private extractCommandText; private isMostlyPrintable; private isPromptLine; private buildReadStatus; } //# sourceMappingURL=terminal-manager.d.ts.map

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/masx200/persistent-terminal-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server