Builds a bounded one-shot observation of one existing Linux tmux server.
Capture checks topology and OS server identity before and after field
reads. At most two attempts share the original deadline and work budgets;
attempts accepts 1–3. Only inconsistent topology or disappearing read
targets retry. Decoding and coverage errors remain visible.
Defaults: 1024 contextual entity rows, 512 commands, 8 MiB total response bytes, 64 KiB per response and 5000 ms. Exceeding a ceiling returns an error, never a partial success. Linked rows count against the work limit. Capture adds no control attachment. Hooks configured on list commands can still have effects; retries do not replay application mutations.
Summary
Functions
Performs bounded capture through an explicit server descriptor.
Types
@type option() :: {:timeout, pos_integer()} | {:deadline, LibTmux.Deadline.t()} | {:attempts, 1..3} | {:max_entities | :max_commands | :max_bytes | :max_response_bytes, pos_integer()}
Capture-wide budgets shared by all attempts and reads.
Each read uses the smaller of remaining max_bytes and max_response_bytes.
That effective ceiling must fit OneShot's 16 MiB stdout limit. The shared
deadline must have at most 600,000 ms remaining when OneShot validates a read.
Invalid combinations raise ArgumentError before that command executes.
Functions
@spec fetch(LibTmux.Server.t(), [option()]) :: {:ok, LibTmux.Snapshot.t()} | {:error, LibTmux.Error.t()}
Performs bounded capture through an explicit server descriptor.
See option/0 for the composed work, response and remaining-deadline
constraints inherited from LibTmux.Transport.OneShot.run/3.