31 lines
1.1 KiB
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
|