The host port the Claude pane verbs read and write through, and its one real adapter.
Stratum: Port + Boundary. Everything that touches the tmux server, the
Claude Code state directory (~/.claude) or the clock is a key of the port
map, so panes and compact are tested with a stub map and no tmux.
The adapter shells out to the tmux CLI rather than libtmux: the panes a
supervisor watches are on whatever server the operator runs, not only the
hive session the python bridge owns.
The host port the Claude pane verbs read and write through, and its one real adapter. Stratum: Port + Boundary. Everything that touches the tmux server, the Claude Code state directory (~/.claude) or the clock is a key of the port map, so `panes` and `compact` are tested with a stub map and no tmux. The adapter shells out to the tmux CLI rather than libtmux: the panes a supervisor watches are on whatever server the operator runs, not only the `hive` session the python bridge owns.
The port the verbs use when the caller passes none. Read at call time, so a caller may rebind it; the default is the CLI adapter on the default server.
The port the verbs use when the caller passes none. Read at call time, so a caller may rebind it; the default is the CLI adapter on the default server.
(claude-home)The Claude Code state directory: $CLAUDE_CONFIG_DIR, else user.home/.claude.
The Claude Code state directory: $CLAUDE_CONFIG_DIR, else user.home/.claude.
(cli-host)(cli-host {:keys [socket-name] :as opts})The real adapter. OPTS: :socket-name (tmux -L), :claude-home.
The real adapter. OPTS: :socket-name (tmux -L), :claude-home.
The port. Each value is a fn: :tmux! (argv) or (argv stdin) -> {:exit int :out str :err str} :sessions () -> [session-map ...] (sessions/<pid>.json, parsed, keys keywordized) :transcript (cwd session-id) -> [line ...] or nil :sleep! (ms) -> nil :now-ms () -> epoch ms
The port. Each value is a fn:
:tmux! (argv) or (argv stdin) -> {:exit int :out str :err str}
:sessions () -> [session-map ...] (sessions/<pid>.json, parsed, keys keywordized)
:transcript (cwd session-id) -> [line ...] or nil
:sleep! (ms) -> nil
:now-ms () -> epoch ms(host)The bound port, or a fresh CLI adapter.
The bound port, or a fresh CLI adapter.
(project-slug cwd)The projects/ directory name of CWD: every character that is not a letter
or digit becomes - ("/srv/a.b" -> "-srv-a-b").
The projects/ directory name of CWD: every character that is not a letter
or digit becomes `-` ("/srv/a.b" -> "-srv-a-b").cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |