internal/

directory
v0.0.20 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 17, 2026 License: MIT

Directories

Path Synopsis
app
activity
Package activity implements tmux session activity detection using screen-delta hysteresis and tag-based output timestamps.
Package activity implements tmux session activity detection using screen-delta hysteresis and tag-based output timestamps.
Package config loads and represents amux configuration: assistant definitions, UI settings, and resolved on-disk paths.
Package config loads and represents amux configuration: assistant definitions, UI settings, and resolved on-disk paths.
Package data persists workspace records to disk via WorkspaceStore, using atomic JSON reads/writes keyed by workspace ID plus per-repo lookup.
Package data persists workspace records to disk via WorkspaceStore, using atomic JSON reads/writes keyed by workspace ID plus per-repo lookup.
e2e
fakeagent command
Command fakeagent is a deterministic stand-in for a real raw-mode coding agent (Claude Code / Codex / Cline) for amux end-to-end tests.
Command fakeagent is a deterministic stand-in for a real raw-mode coding agent (Claude Code / Codex / Cline) for amux end-to-end tests.
Package fsatomic provides crash-safe single-file persistence: data is written to a temp file in the target directory, synced to disk, and then atomically moved over the target.
Package fsatomic provides crash-safe single-file persistence: data is written to a temp file in the target directory, synced to disk, and then atomically moved over the target.
Package git wraps the git CLI for amux's worktree-per-workspace model: creating and removing worktrees and branches, computing diffs, and watching the working tree for changes.
Package git wraps the git CLI for amux's worktree-per-workspace model: creating and removing worktrees and branches, computing diffs, and watching the working tree for changes.
Package logging is amux's file-based logger.
Package logging is amux's file-based logger.
Package messages defines the shared Bubble Tea message vocabulary exchanged between the app message pump and the UI panes: user intents, lifecycle events, and cross-pane notifications.
Package messages defines the shared Bubble Tea message vocabulary exchanged between the app message pump and the UI panes: user intents, lifecycle events, and cross-pane notifications.
Package perf is lightweight, opt-in instrumentation: named counters (Count) and timers (Record/Time) that flush to a log for the headless harness and the perf baselines.
Package perf is lightweight, opt-in instrumentation: named counters (Count) and timers (Record/Time) that flush to a log for the headless harness and the perf baselines.
Package pprofhttp builds the opt-in pprof server used by amux binaries.
Package pprofhttp builds the opt-in pprof server used by amux binaries.
Package process provides cross-platform process-group teardown: it kills a process together with its descendants (KillProcessGroup) so agent process trees do not survive the tmux session that launched them.
Package process provides cross-platform process-group teardown: it kills a process together with its descendants (KillProcessGroup) so agent process trees do not survive the tmux session that launched them.
Package pty manages the pseudo-terminals that back hosted agents: it spawns agent processes (Agent) attached to a PTY (Terminal), sizes them, and streams their byte output to the UI for parsing by internal/vterm.
Package pty manages the pseudo-terminals that back hosted agents: it spawns agent processes (Agent) attached to a PTY (Terminal), sizes them, and streams their byte output to the UI for parsing by internal/vterm.
Package safego provides panic-safe goroutine helpers (Go, Run) with a pluggable PanicHandler, so background work can never crash the TUI on an otherwise-unrecovered panic.
Package safego provides panic-safe goroutine helpers (Go, Run) with a pluggable PanicHandler, so background work can never crash the TUI on an otherwise-unrecovered panic.
Package shellutil holds small, security-sensitive shell helpers shared across packages so their behavior can't drift between copies.
Package shellutil holds small, security-sensitive shell helpers shared across packages so their behavior can't drift between copies.
Package supervisor runs named background workers under a restart/backoff policy and surfaces fatal worker errors through a pluggable error handler instead of letting an unrecovered failure take down the app.
Package supervisor runs named background workers under a restart/backoff policy and surfaces fatal worker errors through a pluggable error handler instead of letting an unrecovered failure take down the app.
Package testutil provides small polling helpers shared across test packages, so individual tests don't re-derive deadline/poll loops (which tend to drift in interval and failure messaging).
Package testutil provides small polling helpers shared across test packages, so individual tests don't re-derive deadline/poll loops (which tend to drift in interval and failure messaging).
Package tmux is a thin wrapper over the tmux CLI used to host agent sessions: it creates and kills sessions, captures pane contents and scrollback, resizes windows, and reads/writes the @amux_* activity tags that coordinate detection and reattach across amux instances.
Package tmux is a thin wrapper over the tmux CLI used to host agent sessions: it creates and kills sessions, captures pane contents and scrollback, resizes windows, and reads/writes the @amux_* activity tags that coordinate detection and reattach across amux instances.
ui
center
Package center implements the center-pane Bubble Tea model: the agent tab strip, per-tab PTY I/O and flushing, the diff viewer, and mouse/keyboard text selection.
Package center implements the center-pane Bubble Tea model: the agent tab strip, per-tab PTY I/O and flushing, the diff viewer, and mouse/keyboard text selection.
common
Package common holds UI building blocks shared across panes: theming (colors, styles, icons), widgets (dialogs, file picker, toasts), text selection, and the low-level PTY/tmux plumbing used by the center and sidebar terminals.
Package common holds UI building blocks shared across panes: theming (colors, styles, icons), widgets (dialogs, file picker, toasts), text selection, and the low-level PTY/tmux plumbing used by the center and sidebar terminals.
compositor
Package compositor composes vterm snapshots and UI layers into a single rendered frame.
Package compositor composes vterm snapshots and UI layers into a single rendered frame.
dashboard
Package dashboard implements the dashboard pane: the project and workspace tree with keyboard and mouse navigation plus a toolbar for workspace actions.
Package dashboard implements the dashboard pane: the project and workspace tree with keyboard and mouse navigation plus a toolbar for workspace actions.
diff
Package diff implements the diff viewer shown in a center tab, rendering a git change as scrollable, syntax-aware output.
Package diff implements the diff viewer shown in a center tab, rendering a git change as scrollable, syntax-aware output.
layout
Package layout computes pane geometry: it tracks the layout mode and divides the terminal into the dashboard, center, and sidebar regions (Manager).
Package layout computes pane geometry: it tracks the layout mode and divides the terminal into the dashboard, center, and sidebar regions (Manager).
ptyio
Package ptyio holds the low-level PTY/tmux plumbing shared by the center and sidebar terminals: the PTY read loop and output forwarding/merging, PTY-noise filtering and overflow trimming, and tmux session bootstrap/restore (capture, snapshot, scrollback).
Package ptyio holds the low-level PTY/tmux plumbing shared by the center and sidebar terminals: the PTY read loop and output forwarding/merging, PTY-noise filtering and overflow trimming, and tmux session bootstrap/restore (capture, snapshot, scrollback).
sidebar
Package sidebar implements the sidebar pane: the workspace file tree plus an embedded tmux-backed terminal with its own PTY I/O and text selection.
Package sidebar implements the sidebar pane: the workspace file tree plus an embedded tmux-backed terminal with its own PTY I/O and text selection.
Package update implements self-update: it compares the running version against GitHub releases and downloads, checksum-verifies, and installs a newer binary, skipping Homebrew and go-install builds.
Package update implements self-update: it compares the running version against GitHub releases and downloads, checksum-verifies, and installs a newer binary, skipping Homebrew and go-install builds.
Package validation guards untrusted input before it reaches git or the filesystem: it sanitizes strings and validates assistant names, base refs, project paths, and workspace names.
Package validation guards untrusted input before it reaches git or the filesystem: it sanitizes strings and validates assistant names, base refs, project paths, and workspace names.
Package vterm is a terminal emulator: it parses a stream of ANSI/VT escape sequences into a cell grid plus scrollback and renders that state back to ANSI.
Package vterm is a terminal emulator: it parses a stream of ANSI/VT escape sequences into a cell grid plus scrollback and renders that state back to ANSI.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL