Documentation
¶
Overview ¶
Package sshclient owns the fixed system OpenSSH process, terminal proxy, and push-only local clipboard upload lifecycle for pips ssh.
Index ¶
- Variables
- func DecodeVersion(value string) (string, error)
- func DecodeWorkspace(value string) (string, error)
- func EncodeVersion(value string) (string, error)
- func EncodeWorkspace(value string) (string, error)
- func Run(ctx context.Context, options Options) error
- func ValidateDestination(value string) error
- func ValidateRequest(request Request) error
- func ValidateWorkspace(value string) error
- type ExitError
- type ImageClipboard
- type InputFilter
- type Options
- type Request
Constants ¶
This section is empty.
Variables ¶
var ( // ErrInvalid means public or hidden bridge input violated the fixed contract. ErrInvalid = errors.New("coding ssh client: invalid input") ErrUnavailable = errors.New("coding ssh client: unavailable") // ErrTerminal means the local PTY or terminal lifecycle failed. ErrTerminal = errors.New("coding ssh client: terminal failure") )
Functions ¶
func DecodeVersion ¶
DecodeVersion validates a canonical base64url build-version token.
func DecodeWorkspace ¶
DecodeWorkspace validates a canonical base64url remote Workspace token.
func EncodeVersion ¶
EncodeVersion returns the canonical base64url token used in remote argv.
func EncodeWorkspace ¶
EncodeWorkspace returns the canonical base64url token used in remote argv.
func ValidateDestination ¶
ValidateDestination accepts a bounded ASCII SSH destination/config alias but no option-shaped or shell-bearing text.
func ValidateRequest ¶
ValidateRequest checks all values before any filesystem or process access.
func ValidateWorkspace ¶
ValidateWorkspace accepts only a canonical dot or absolute POSIX remote path.
Types ¶
type ExitError ¶
type ExitError struct {
Code int
}
ExitError preserves the OpenSSH/remote command exit status for the CLI.
type ImageClipboard ¶
ImageClipboard is the local, push-only clipboard capability used by Ctrl+V.
type InputFilter ¶
type InputFilter struct {
// contains filtered or unexported fields
}
InputFilter forwards terminal bytes while converting Ctrl+V outside a bracketed paste into local upload requests.
func (*InputFilter) Flush ¶
func (f *InputFilter) Flush() ([]byte, int)
Flush releases any partial escape sequence at end of input.