UNPKG

webssh2-server

Version:

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

45 lines (44 loc) 1.08 kB
/** * State type definitions for immutable state management */ import { TERMINAL_DEFAULTS } from '../constants/index.js'; /** * Helper functions for Result type */ export const ok = (value) => ({ ok: true, value }); export const err = (error) => ({ ok: false, error }); /** * Initial state factory */ export const createInitialState = (sessionId) => ({ id: sessionId, auth: { status: 'pending', method: null, username: null, timestamp: Date.now(), errorMessage: null }, connection: { status: 'disconnected', connectionId: null, host: null, port: null, errorMessage: null, lastActivity: Date.now() }, terminal: { term: TERMINAL_DEFAULTS.DEFAULT_TERM, rows: TERMINAL_DEFAULTS.DEFAULT_ROWS, cols: TERMINAL_DEFAULTS.DEFAULT_COLS, environment: {}, cwd: null }, metadata: { createdAt: Date.now(), updatedAt: Date.now(), clientIp: null, userAgent: null, userId: null } });