ollie/cmd/olliesrv/internal/toolclient/doc.go

31 lines
1.1 KiB
Go

// Package toolclient manages the toolsrv connection from olliesrv.
//
// It handles process spawning (local or remote via SSH), connection
// lifecycle, and the 9P client for tool operations.
//
// # Process Management
//
// ProcessKeeper maintains a running toolsrv process, respawning it if
// it dies. It provides stable connection dialing even across restarts.
//
// For remote execution, toolsrv is deployed over SSH with socket
// forwarding. The local olliesrv talks to the remote toolsrv as if
// it were local.
//
// # Connection
//
// ToolsrvConn wraps a 9P connection to toolsrv. It provides typed
// methods for common operations:
//
// - ListTools, LoadTool, UnloadTool — tool registry
// - CallTool, CallToolBackground — tool execution
// - SignalDetached, GetDetachedOutput — background process management
// - ReadBypassPending, ResolveBypass — sandbox bypass
//
// # Authentication
//
// Connections are authenticated with a shared secret established on
// first connection. Subsequent connections (e.g., after respawn) must
// provide the same secret.
package toolclient