TmuxEngine
What runs a tmux command for a server.
Source and package
- Qualified name
-
TmuxEngine - Module
- engine
- Package
- libtmux
- Source
- packages/libtmux/src/engine.ts
- type engine.TmuxEngine = { readonly endpoint?: string; execute(request: Tmux
Invocation ): Promise<TmuxRequest Command >; }Result -
Description#
Two obligations beyond returning bytes, and both are what the layers above assume rather than check:
Every request is one tmux invocation and carries its ordered command list. Keeping that structure at the seam prevents an engine from splitting a snapshot into several clients or guessing where global flags end. Environment, stdin, signal, and timeout apply once to the whole invocation.
daemonGuard, when a request carries one, must reach tmux — or the engine must be bound to one daemon for its lifetime, the way a control connection is. Ignoring it on a reconnecting engine means a handle read before a restart addressing whatever now holds its id.guardRequestis what the built-in engine calls to honour it, published so an implementer does not reproduce the wrapper, its else branch, and the stderr that tells refusal from failure.