Documentation
¶
Overview ¶
Package server is the conch daemon: it owns panes and serves the protocol on a unix socket so clients can come and go without killing agents.
Index ¶
Constants ¶
const KeychainService = "conch-mcp"
KeychainService is the Keychain service the tokens are kept under; the account is the variable's name.
Variables ¶
var DefaultLocalFiles = []string{
".env", ".env.*", ".envrc",
".claude/settings.local.json", "CLAUDE.local.md", ".mcp.json",
"AGENTS.override.md", ".gemini/.env",
}
DefaultLocalFiles are copied from the main checkout into new worktrees: files an agent in the worktree would otherwise lack. Only files git ignores are copied — tracked ones are already there, and an untracked file git doesn't ignore could end up committed on the task's branch (and would stop the worktree from being removed).
var ErrAlreadyRunning = errors.New("conch server is already running")
ErrAlreadyRunning is returned when another server owns the socket.
Functions ¶
This section is empty.
Types ¶
type Server ¶
type Server struct {
// contains filtered or unexported fields
}
Server owns all panes on this machine.
func New ¶
New creates a server that will listen on sockPath and keep integration files and agent manifest overrides under configDir.
func (*Server) Stop ¶
func (s *Server) Stop()
Stop begins shutdown; Run returns once panes are closed. The watches go at once rather than with the run loop: a server that never ran one — a test's, or one that failed to start — would otherwise leave its streams, and on macOS a CoreFoundation thread each, behind for good.
func (*Server) StopAndWait ¶ added in v0.2.0
func (s *Server) StopAndWait()
StopAndWait stops the server and waits until Run has returned — every pane's program ended, not merely asked to. Stop alone returns at once, and a test that ended its process then left a pane's program running for ever: a shell loop that ignores its dead terminal, found burning a core days later. A server that never ran is not waited for.
Source Files
¶
- after.go
- agents.go
- autopilot.go
- autopilot_resolve.go
- autopilot_ship.go
- branchgit.go
- cilog.go
- cleanup.go
- cloud.go
- download.go
- files.go
- filewrite.go
- find.go
- fs.go
- fslines.go
- fsops.go
- fssearch.go
- github.go
- gitinit.go
- gitview.go
- groupmerge.go
- groups.go
- harvest.go
- issues.go
- launchrule.go
- listening.go
- localfiles.go
- log.go
- monitor.go
- move.go
- outbox.go
- overlap.go
- peer_linux.go
- permissions.go
- ports.go
- projects.go
- prompt.go
- raw.go
- reload.go
- reply.go
- review.go
- reviewers.go
- schedule.go
- scope.go
- secrets.go
- server.go
- sessions.go
- setup.go
- share.go
- shell.go
- shelltheme.go
- size.go
- sshfiles.go
- star.go
- subagents.go
- upload.go
- usage.go
- view.go
- watch.go
- watch_fsnotify.go
- worktreesetup.go