terminal

package
v0.0.0-...-1d32ed5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 8, 2026 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ReasonProcessExit       = "process_exit"
	ReasonClosedByUser      = "closed_by_user"
	ReasonDisconnectTimeout = "disconnect_timeout"
	ReasonMaxLifetime       = "max_lifetime"
	ReasonDaemonShutdown    = "daemon_shutdown"
	ReasonResourceLimit     = "resource_limit"
	ReasonSpawnError        = "spawn_error"
)

Variables

This section is empty.

Functions

func Encode

func Encode(data []byte) string

func ResolveShell

func ResolveShell() string

func ValidateCWD

func ValidateCWD(cwd string) (string, error)

Types

type EventSender

type EventSender interface {
	SendTerminalOpened(req OpenRequest, shell string, cwd string, startedAt time.Time) error
	SendTerminalOutput(terminalID, sessionID, channelID string, seq int64, data []byte) error
	SendTerminalSnapshot(terminalID, sessionID, channelID string, seq int64, data []byte) error
	SendTerminalExit(terminalID, sessionID, channelID, reason string, exitCode int, signal string, endedAt time.Time) error
	SendTerminalError(requestID, terminalID, sessionID, channelID, message string) error
}

type Limits

type Limits struct {
	ScrollbackBytes        int
	IdleTimeout            time.Duration
	MaxLifetime            time.Duration
	MaxSessions            int
	OutputChunkSize        int
	OutputFlush            time.Duration
	TerminationGracePeriod time.Duration
}

func DefaultLimits

func DefaultLimits() Limits

type Manager

type Manager struct {
	// contains filtered or unexported fields
}

func NewManager

func NewManager(events EventSender, limits Limits) *Manager

func (*Manager) Close

func (m *Manager) Close(terminalID string, reason string)

func (*Manager) CloseAll

func (m *Manager) CloseAll(ctx context.Context, reason string)

func (*Manager) Input

func (m *Manager) Input(terminalID string, data []byte) error

func (*Manager) Open

func (m *Manager) Open(ctx context.Context, req OpenRequest) error

func (*Manager) Resize

func (m *Manager) Resize(terminalID string, cols, rows int) error

func (*Manager) Snapshot

func (m *Manager) Snapshot(terminalID string) error

type OpenRequest

type OpenRequest struct {
	RequestID   string
	TerminalID  string
	SessionID   string
	ChannelID   string
	CWD         string
	Cols        int
	Rows        int
	IdleTimeout time.Duration
	MaxLifetime time.Duration
}

type ScrollbackRing

type ScrollbackRing struct {
	// contains filtered or unexported fields
}

func NewScrollbackRing

func NewScrollbackRing(capacity int) *ScrollbackRing

func (*ScrollbackRing) Bytes

func (r *ScrollbackRing) Bytes() []byte

func (*ScrollbackRing) Seq

func (r *ScrollbackRing) Seq() int64

func (*ScrollbackRing) Write

func (r *ScrollbackRing) Write(data []byte)

func (*ScrollbackRing) WriteChunk

func (r *ScrollbackRing) WriteChunk(seq int64, data []byte)

type Session

type Session struct {
	// contains filtered or unexported fields
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL