Criar uma sessão PTY
Você pode usarsandbox.pty.create() para iniciar um shell bash interativo.
O PTY inicia um shell bash interativo com
TERM=xterm-256color, portanto cores ANSI e sequências de escape funcionam conforme esperado.Timeout
A configuração de timeout é configurável e determina por quanto tempo a sessão PTY permanece ativa. Você pode manter uma sessão PTY aberta indefinidamente definindotimeoutMs: 0 em JavaScript ou timeout=0 em Python. Por padrão, a sessão usa um timeout de 60 segundos.
Enviar entrada para o PTY
Você pode usarsendInput() em JavaScript ou send_stdin() em Python para enviar dados ao terminal.
Em JavaScript, sendInput() retorna uma Promise, e qualquer saída do terminal é entregue por meio do callback onData, em vez de ser retornada diretamente.
Em Python, send_stdin() é concluído de forma síncrona, e qualquer saída do terminal é entregue por meio do callback on_pty passado para wait().
Redimensionar o terminal
Você pode usarresize() para notificar o PTY quando o usuário alterar o tamanho da janela do terminal.
Os valores cols e rows representam as dimensões do terminal em caracteres, e não em pixels.
Desconectar e reconectar
Uma sessão PTY pode permanecer ativa mesmo depois que o cliente se desconecta. Você pode se desconectar da sessão e reconectar-se a ela novamente mais tarde com um novo manipulador de dados. Isso pode ser usado para se recuperar de interrupções de rede, oferecer suporte ao acesso ao terminal por vários clientes e preservar o estado da sessão entre reconexões.Encerrar o PTY
Você pode usarkill() para encerrar a sessão PTY.
Aguardar o PTY sair
Você pode usarwait() para bloquear até que a sessão do terminal termine, por exemplo, quando o usuário digita exit.
Terminal interativo (semelhante a SSH)
Você pode usar a mesma APIsandbox.pty descrita acima para criar um terminal totalmente interativo, como SSH, lidando com raw mode, encaminhamento de stdin e eventos de redimensionamento do terminal.