From cde16ada08f2bc5544a7e3de455284b3dcc9fa46 Mon Sep 17 00:00:00 2001 From: Levi Neely Date: Wed, 29 Jul 2026 22:38:08 +0200 Subject: [PATCH] =?UTF-8?q?agent:=20unexport=20ExecServer=20=E2=86=92=20ex?= =?UTF-8?q?ecServer?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit No external callers — only used internally by the detach methods (Detach, ListDetached, SignalDetached, GetDetachedOutput, DismissDetached). The accessor is now private, no longer leaking the dispatcher interface. --- agent/agent.go | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/agent/agent.go b/agent/agent.go index 115e1bb..34c05b9 100644 --- a/agent/agent.go +++ b/agent/agent.go @@ -475,9 +475,8 @@ func (ag *Agent) React(responseID, emoji string) error { return nil } -// ExecServer returns the execute server interface, or nil if unavailable. -// NOTE: This is temporary — detach operations should be proper Agent methods. -func (ag *Agent) ExecServer() interface{} { +// execServer returns the execute server interface, or nil if unavailable. +func (ag *Agent) execServer() interface{} { if ag.runtime == nil || ag.runtime.Dispatcher == nil { return nil } @@ -513,7 +512,7 @@ func (ag *Agent) WaitForChange(ctx context.Context) { // Detach detaches the current running process to background. func (ag *Agent) Detach() bool { - if srv := ag.ExecServer(); srv != nil { + if srv := ag.execServer(); srv != nil { if d, ok := srv.(interface{ Detach() bool }); ok { return d.Detach() } @@ -532,7 +531,7 @@ type DetachedInfo struct { // ListDetached returns info about all detached processes. func (ag *Agent) ListDetached() []DetachedInfo { - srv := ag.ExecServer() + srv := ag.execServer() if srv == nil { return nil } @@ -559,7 +558,7 @@ func (ag *Agent) ListDetached() []DetachedInfo { // SignalDetached sends a signal to a detached process. func (ag *Agent) SignalDetached(pid int, signal int) error { - if srv := ag.ExecServer(); srv != nil { + if srv := ag.execServer(); srv != nil { type signaler interface{ SignalDetached(int, syscall.Signal) error } if sg, ok := srv.(signaler); ok { return sg.SignalDetached(pid, syscall.Signal(signal)) @@ -570,7 +569,7 @@ func (ag *Agent) SignalDetached(pid int, signal int) error { // GetDetachedOutput reads output from a detached process. func (ag *Agent) GetDetachedOutput(pid int) (string, error) { - if srv := ag.ExecServer(); srv != nil { + if srv := ag.execServer(); srv != nil { type outputGetter interface{ GetDetachedOutput(int) (string, error) } if og, ok := srv.(outputGetter); ok { return og.GetDetachedOutput(pid) @@ -581,7 +580,7 @@ func (ag *Agent) GetDetachedOutput(pid int) (string, error) { // DismissDetached removes a finished detached process. func (ag *Agent) DismissDetached(pid int) bool { - if srv := ag.ExecServer(); srv != nil { + if srv := ag.execServer(); srv != nil { type dismisser interface{ DismissDetached(int) bool } if d, ok := srv.(dismisser); ok { return d.DismissDetached(pid)