UNPKG

webssh2-server

Version:

A Websocket to SSH2 gateway using xterm.js, socket.io, ssh2

50 lines (49 loc) 1.52 kB
/** * Terminal service implementation */ import type { TerminalService, Terminal, TerminalOptions, Dimensions, ServiceDependencies } from '../interfaces.js'; import type { SessionId } from '../../types/branded.js'; import type { Result } from '../../state/types.js'; import type { SessionStore } from '../../state/store.js'; export declare class TerminalServiceImpl implements TerminalService { private readonly deps; private readonly store; private readonly registry; private readonly defaultRows; private readonly defaultCols; private readonly defaultTerm; constructor(deps: ServiceDependencies, store: SessionStore); /** * Create a terminal */ create(options: TerminalOptions): Result<Terminal>; /** * Resize terminal */ resize(sessionId: SessionId, dimensions: Dimensions): Result<void>; /** * Write to terminal * Note: This updates metadata only - actual data handling is done by streams */ write(sessionId: SessionId, _data: string): Result<void>; /** * Destroy terminal */ destroy(sessionId: SessionId): Result<void>; /** * Get terminal info */ getTerminal(sessionId: SessionId): Result<Terminal | null>; /** * Update terminal environment */ updateEnvironment(sessionId: SessionId, env: Record<string, string>): Result<void>; /** * Get all terminals */ getAllTerminals(): Terminal[]; /** * Clean up all terminals */ cleanup(): void; }