ollie/toolsrv
Levi Neely 59b672966f toolsrv: unified socket-based execution
Execution is now identical for local and remote:
- Session calls Spawn()/SpawnRemote() → owns *Process with socket
- Clients call Dial(LocalAddr(socket)) → *Conn over Unix socket
- ollie-remote serves --listen mode with multi-client accept loop
- Builtins (shell, tool_load, skill_load) run in subprocess with registries

Lifecycle:
- Pdeathsig ensures children die with parent (no orphans)
- Cleanup: SIGTERM → 3s grace → SIGKILL (guaranteed)
- Socket paths use atomic counter for uniqueness
- Session Kill() closes Process

Protocol:
- Extended RPC: set_env, set_cwd, detach, list_detached, etc.
- Shell goes through builtin dispatch (parses 'cmd' field correctly)
- Streaming output via JSON-RPC notifications
2026-07-31 14:10:47 +02:00
..
accessors.go flatten: absorb submodules into single Go module 2026-07-30 18:57:51 +02:00
bootstrap.sh remote: deploy landrun alongside ollie-remote 2026-07-31 11:13:38 +02:00
conn.go toolsrv: unified socket-based execution 2026-07-31 14:10:47 +02:00
dial.go toolsrv: unified socket-based execution 2026-07-31 14:10:47 +02:00
discover.go toolsrv: conditional tool variants for heterogeneous hosts 2026-07-30 23:13:31 +02:00
meta.go fix ResolveTool to check OLLIE_TOOLS_PATH for variant cmd names 2026-07-30 23:40:24 +02:00
registry.go toolsrv: fix Registry.discover() to use .meta files 2026-07-30 22:50:49 +02:00
remote.go toolsrv: unified socket-based execution 2026-07-31 14:10:47 +02:00
rpc.go toolsrv: unified socket-based execution 2026-07-31 14:10:47 +02:00
schema.go tool metadata: replace header comment parsing with .meta sidecar files 2026-07-30 21:48:42 +02:00
server.go toolsrv: typed RateLimitedError, agent loop: don't count rate-limited calls as consecutive errors 2026-07-31 07:46:32 +02:00
shell.go toolsrv: export USER and NAMESPACE to shell environment 2026-07-31 09:22:43 +02:00
skills.go flatten: absorb submodules into single Go module 2026-07-30 18:57:51 +02:00
socket_test.go toolsrv: unified socket-based execution 2026-07-31 14:10:47 +02:00
spawn.go toolsrv: unified socket-based execution 2026-07-31 14:10:47 +02:00
stream.go flatten: absorb submodules into single Go module 2026-07-30 18:57:51 +02:00
tier.go tool metadata: replace header comment parsing with .meta sidecar files 2026-07-30 21:48:42 +02:00
tools.go flatten: absorb submodules into single Go module 2026-07-30 18:57:51 +02:00
tools_test.go flatten: absorb submodules into single Go module 2026-07-30 18:57:51 +02:00
transport.go toolsrv: unified socket-based execution 2026-07-31 14:10:47 +02:00