rename ollie-remote to toolsrv

- cmd/ollie-remote -> cmd/toolsrv
- Update all references in toolsrv package
- Update justfile build targets
- Binary now installed as ~/.local/bin/toolsrv
This commit is contained in:
Levi Neely 2026-08-10 15:01:42 +02:00
parent ced1389549
commit 1cd158926a
11 changed files with 23 additions and 23 deletions

View File

@ -1,4 +1,4 @@
// ollie-remote — tool execution server. // toolsrv — tool execution server.
// //
// Accepts JSON-RPC 2.0 connections. Executes tool calls in a sandboxed // Accepts JSON-RPC 2.0 connections. Executes tool calls in a sandboxed
// environment. Used both locally (spawned by olliesrv) and remotely // environment. Used both locally (spawned by olliesrv) and remotely
@ -6,7 +6,7 @@
// //
// Usage: // Usage:
// //
// ollie-remote serve --cwd /path/to/project [--listen /path/to/sock] [--yolo] // toolsrv serve --cwd /path/to/project [--listen /path/to/sock] [--yolo]
// //
// When --listen is provided, accepts connections on a Unix socket. // When --listen is provided, accepts connections on a Unix socket.
// Otherwise, serves a single session over stdin/stdout (bootstrap mode). // Otherwise, serves a single session over stdin/stdout (bootstrap mode).
@ -33,7 +33,7 @@ var (
func main() { func main() {
if len(os.Args) < 2 || os.Args[1] != "serve" { if len(os.Args) < 2 || os.Args[1] != "serve" {
fmt.Fprintln(os.Stderr, "usage: ollie-remote serve --cwd <path> [--listen <socket>]") fmt.Fprintln(os.Stderr, "usage: toolsrv serve --cwd <path> [--listen <socket>]")
os.Exit(1) os.Exit(1)
} }
flag.CommandLine.Parse(os.Args[2:]) flag.CommandLine.Parse(os.Args[2:])

View File

@ -22,9 +22,9 @@ kf5: build-kf5 install-kf5
# === Build targets === # === Build targets ===
build: core ninep lib9p ollie-remote lsp-tools kde build: core ninep lib9p toolsrv lsp-tools kde
build-kf5: core ninep lib9p ollie-remote kde-kf5 build-kf5: core ninep lib9p toolsrv kde-kf5
core: core:
@echo === Building ollie-core === @echo === Building ollie-core ===
@ -61,9 +61,9 @@ lsp-tools:
go build -o {{cfg}}/tools/lsp_diagnostics ./tools/lsp/cmd/lsp_diagnostics/ go build -o {{cfg}}/tools/lsp_diagnostics ./tools/lsp/cmd/lsp_diagnostics/
install -m644 ./tools/lsp/cmd/lsp_diagnostics/lsp_diagnostics.meta {{cfg}}/tools/lsp_diagnostics.meta install -m644 ./tools/lsp/cmd/lsp_diagnostics/lsp_diagnostics.meta {{cfg}}/tools/lsp_diagnostics.meta
ollie-remote: toolsrv:
@echo === Building ollie-remote === @echo === Building toolsrv ===
go build -buildvcs=false -o {{bin}}/ollie-remote ./cmd/ollie-remote/ go build -buildvcs=false -o {{bin}}/toolsrv ./cmd/toolsrv/
kde: kde:
@echo === Building ollie-kde === @echo === Building ollie-kde ===
@ -92,7 +92,7 @@ install-el:
migrate-bin: migrate-bin:
#!/usr/bin/env sh #!/usr/bin/env sh
old="$HOME/bin" old="$HOME/bin"
for f in olliesrv ollie-9p ollie-remote ollie-gui ollie-remount logseq-cli o; do for f in olliesrv ollie-9p ollie-remote toolsrv ollie-gui ollie-remount logseq-cli o; do
if [ -f "$old/$f" ]; then if [ -f "$old/$f" ]; then
echo " removing stale $old/$f" echo " removing stale $old/$f"
rm -f "$old/$f" rm -f "$old/$f"
@ -259,8 +259,8 @@ test-9p:
go test ./fs/... go test ./fs/...
test-remote: test-remote:
@echo === Testing ollie-remote === @echo === Testing toolsrv ===
go build ./cmd/ollie-remote/... go build ./cmd/toolsrv/...
# === Clean === # === Clean ===

View File

@ -23,7 +23,7 @@ func (p *Process) Close() {
} }
} }
// Spawn starts a local ollie-remote subprocess listening on a Unix socket. // Spawn starts a local toolsrv subprocess listening on a Unix socket.
// The returned Process owns the subprocess lifecycle. Callers connect // The returned Process owns the subprocess lifecycle. Callers connect
// via Dial(LocalAddr(proc.Socket)). // via Dial(LocalAddr(proc.Socket)).
func Spawn(ctx context.Context, cwd string, opts ...Option) (*Process, error) { func Spawn(ctx context.Context, cwd string, opts ...Option) (*Process, error) {
@ -50,7 +50,7 @@ func Spawn(ctx context.Context, cwd string, opts ...Option) (*Process, error) {
}, nil }, nil
} }
// SpawnRemote starts ollie-remote on a remote host via SSH, sets up Unix // SpawnRemote starts toolsrv on a remote host via SSH, sets up Unix
// socket forwarding, and returns a Process with the local forwarded socket. // socket forwarding, and returns a Process with the local forwarded socket.
func SpawnRemote(ctx context.Context, cfg RemoteConfig) (*Process, error) { func SpawnRemote(ctx context.Context, cfg RemoteConfig) (*Process, error) {
StreamOutput(ctx, fmt.Sprintf("[toolsrv] dialing %s (cwd: %s)...\n", cfg.SSHTarget, cfg.CWD)) StreamOutput(ctx, fmt.Sprintf("[toolsrv] dialing %s (cwd: %s)...\n", cfg.SSHTarget, cfg.CWD))

View File

@ -30,13 +30,13 @@ type transport struct {
cleanup func() cleanup func()
} }
// localDial spawns ollie-remote as a local subprocess listening on a Unix // localDial spawns toolsrv as a local subprocess listening on a Unix
// socket, waits for it to be ready, and returns the socket path. // socket, waits for it to be ready, and returns the socket path.
func localDial(ctx context.Context, cwd string, opts ...Option) (*transport, error) { func localDial(ctx context.Context, cwd string, opts ...Option) (*transport, error) {
// Bootstrap: verify ollie-remote binary is present. // Bootstrap: verify toolsrv binary is present.
binPath, err := findLocalBinary() binPath, err := findLocalBinary()
if err != nil { if err != nil {
return nil, fmt.Errorf("bootstrap: ollie-remote not found") return nil, fmt.Errorf("bootstrap: toolsrv not found")
} }
// Verify tools directory is accessible via ToolsPath(). // Verify tools directory is accessible via ToolsPath().
@ -124,7 +124,7 @@ func localDial(ctx context.Context, cwd string, opts ...Option) (*transport, err
return &transport{r: conn, w: conn, sockPath: sockPath, cleanup: cleanup}, nil return &transport{r: conn, w: conn, sockPath: sockPath, cleanup: cleanup}, nil
} }
// sshDial connects to a remote host via SSH, bootstraps ollie-remote // sshDial connects to a remote host via SSH, bootstraps toolsrv
// with --listen mode, sets up SSH Unix socket forwarding, and returns // with --listen mode, sets up SSH Unix socket forwarding, and returns
// a transport connected to the forwarded local socket. // a transport connected to the forwarded local socket.
// //
@ -152,7 +152,7 @@ tar xzf - -C "$CACHE_DIR"
# $XDG_CONFIG_HOME/ollie resolves to it. # $XDG_CONFIG_HOME/ollie resolves to it.
export XDG_CONFIG_HOME="$(dirname "$CACHE_DIR")" export XDG_CONFIG_HOME="$(dirname "$CACHE_DIR")"
export PATH="$CACHE_DIR/bin:$PATH" export PATH="$CACHE_DIR/bin:$PATH"
exec "$CACHE_DIR/bin/ollie-remote" serve --cwd %s --listen %s exec "$CACHE_DIR/bin/toolsrv" serve --cwd %s --listen %s
`, shellEscape(cfg.CWD), shellEscape(remoteSock)) `, shellEscape(cfg.CWD), shellEscape(remoteSock))
sshArgs := []string{ sshArgs := []string{
@ -257,22 +257,22 @@ func writeTarball(w io.Writer, dir string) error {
return cmd.Run() return cmd.Run()
} }
// findLocalBinary locates the ollie-remote binary on the local system. // findLocalBinary locates the toolsrv binary on the local system.
func findLocalBinary() (string, error) { func findLocalBinary() (string, error) {
home, _ := os.UserHomeDir() home, _ := os.UserHomeDir()
candidates := []string{ candidates := []string{
filepath.Join(home, "bin", "ollie-remote"), filepath.Join(home, "bin", "toolsrv"),
filepath.Join(home, ".local", "bin", "ollie-remote"), filepath.Join(home, ".local", "bin", "toolsrv"),
} }
for _, p := range candidates { for _, p := range candidates {
if _, err := os.Stat(p); err == nil { if _, err := os.Stat(p); err == nil {
return p, nil return p, nil
} }
} }
if p, err := exec.LookPath("ollie-remote"); err == nil { if p, err := exec.LookPath("toolsrv"); err == nil {
return p, nil return p, nil
} }
return "", fmt.Errorf("ollie-remote not found (checked %s)", strings.Join(candidates, ", ")) return "", fmt.Errorf("toolsrv not found (checked %s)", strings.Join(candidates, ", "))
} }
// shellEscape escapes a string for safe use in a shell command. // shellEscape escapes a string for safe use in a shell command.