Skip to main content

Module files

Module files 

Source
Expand description

Files on an SSH host, through AgentMux’s helper (spec §6.3 of SPEC_REMOTE_TERMINALS_AND_DURABLE_SESSIONS_2026_10_02.md): one ssh -T host -- agentmux-remote serve --stdio per connection, kept open while it is used and closed after IDLE_CLOSE without a call, speaking agentmux_remote::fsproto. Requests carry ids, so any number can be in flight on one connection.

A host without this version’s helper gets it installed on first use (helper_install::ensure), as a durable pane does. ssh’s prompts go to the user in the window of the pane that asked (connect’s ask).

Structs§

Call 🔒
RemoteError
Why a remote file operation failed.
RemoteFiles
One open connection to a host’s helper.

Constants§

CALL 🔒
How long one request may take once connected.
HANDSHAKE 🔒
How long the handshake may take: ssh may first ask the user something (askpass, whose dialog waits up to two minutes).
IDLE_CLOSE
A connection nobody has used for this long is closed.
QUIET_RETRY_AFTER 🔒
How long connect_quiet leaves a host it failed on alone.
QUIET_START_TIMEOUT 🔒
How long connect_quiet waits for the helper to start: under the stats badge’s own 5 s, so a host that doesn’t answer is recorded as a failure rather than cut off and tried again on the next poll.

Functions§

call 🔒
canonical 🔒
The pool’s key for conn: its canonical name, one per host however it is spelled. Err unless it is an SSH connection.
close
Drop the connection to conn’s helper, if there is one (its ssh ends): the helper was removed from the host.
close_idle
Drop every connection idle for after or more (each ssh then ends).
connect
The open connection to conn’s helper, made (and the helper installed) if there is none. ask: where ssh’s prompts go, if any are needed.
connect_quiet
connect for something that asks every few seconds on its own (a pane’s stats badge), not on the user’s word: the open connection, or a new one only on a host the helper is known to be on (helper_hosts), never an install, a consent question or an ssh prompt (a login that needs one fails instead; a pane’s shared connection usually makes it unneeded).
pool 🔒
pump 🔒
The connection’s one task: requests out, replies back to whoever asked, until every handle is gone or the stream ends; then every call still waiting hears why, and keep (the ssh) is dropped.
quiet_failures 🔒
Hosts connect_quiet failed on: when, and why (said again meanwhile).
start 🔒
Start serve --stdio on the host. Err((why, true)) when the helper looks missing (the stream ended before the greeting), so installing it is worth a try.
unexpected 🔒
write_out 🔒
The connection’s writer: each request’s bytes, in order. A failed write is reported once, and ends the connection.

Type Aliases§

Slot 🔒
One host’s slot in the pool: a lock so two first calls make one connection, around the connection once made.