From 7a402c4972176bf163f55bba0e3333478edded33 Mon Sep 17 00:00:00 2001 From: 0x5487 Date: Wed, 25 Feb 2026 22:59:51 +0800 Subject: [PATCH] Refactor agent instance initialization to consolidate component setup and remove unused code and helper functions. --- pkg/agent/instance.go | 24 +++++------------------- pkg/agent/sandbox/security.go | 4 ++-- pkg/config/defaults.go | 4 ---- pkg/tools/cron_additional_test.go | 9 --------- 4 files changed, 7 insertions(+), 34 deletions(-) diff --git a/pkg/agent/instance.go b/pkg/agent/instance.go index a3afa6759..023d9ddea 100644 --- a/pkg/agent/instance.go +++ b/pkg/agent/instance.go @@ -48,20 +48,6 @@ func NewAgentInstance( model := resolveAgentModel(agentCfg, defaults) fallbacks := resolveAgentFallbacks(agentCfg, defaults) - restrict := defaults.RestrictToWorkspace - toolsRegistry := tools.NewToolRegistry() - toolsRegistry.Register(tools.NewReadFileTool(workspace, restrict)) - toolsRegistry.Register(tools.NewWriteFileTool(workspace, restrict)) - toolsRegistry.Register(tools.NewListDirTool(workspace, restrict)) - toolsRegistry.Register(tools.NewExecToolWithConfig(workspace, restrict, cfg)) - toolsRegistry.Register(tools.NewEditFileTool(workspace, restrict)) - toolsRegistry.Register(tools.NewAppendFileTool(workspace, restrict)) - - sessionsDir := filepath.Join(workspace, "sessions") - sessionsManager := session.NewSessionManager(sessionsDir) - - contextBuilder := NewContextBuilder(workspace) - agentID := routing.DefaultAgentID agentName := "" var subagents *config.SubagentsConfig @@ -73,9 +59,9 @@ func NewAgentInstance( skillsFilter = agentCfg.Skills } - restrict = defaults.RestrictToWorkspace + restrict := defaults.RestrictToWorkspace roContainer := isContainerReadOnlySandbox(cfg) - toolsRegistry = tools.NewToolRegistry() + toolsRegistry := tools.NewToolRegistry() sandboxManager := sandbox.NewFromConfigWithAgent(workspace, restrict, cfg, agentID) isSandboxAllowed := func(toolName string) bool { @@ -103,10 +89,10 @@ func NewAgentInstance( } } - sessionsDir = filepath.Join(workspace, "sessions") - sessionsManager = session.NewSessionManager(sessionsDir) + sessionsDir := filepath.Join(workspace, "sessions") + sessionsManager := session.NewSessionManager(sessionsDir) - contextBuilder = NewContextBuilder(workspace) + contextBuilder := NewContextBuilder(workspace) maxIter := defaults.MaxToolIterations if maxIter == 0 { diff --git a/pkg/agent/sandbox/security.go b/pkg/agent/sandbox/security.go index 68214e05a..c751f0e03 100644 --- a/pkg/agent/sandbox/security.go +++ b/pkg/agent/sandbox/security.go @@ -75,8 +75,8 @@ func validateBindMounts(binds []string) error { if err := validateBindSourcePath(bind, normalized); err != nil { return err } - if real := tryRealpathAbsolute(normalized); real != normalized { - if err := validateBindSourcePath(bind, real); err != nil { + if resolvedPath := tryRealpathAbsolute(normalized); resolvedPath != normalized { + if err := validateBindSourcePath(bind, resolvedPath); err != nil { return err } } diff --git a/pkg/config/defaults.go b/pkg/config/defaults.go index 48a090736..5c3c93fa8 100644 --- a/pkg/config/defaults.go +++ b/pkg/config/defaults.go @@ -362,7 +362,3 @@ func DefaultConfig() *Config { }, } } - -func int64Ptr(v int64) *int64 { - return &v -} diff --git a/pkg/tools/cron_additional_test.go b/pkg/tools/cron_additional_test.go index f5f27498d..4775a471b 100644 --- a/pkg/tools/cron_additional_test.go +++ b/pkg/tools/cron_additional_test.go @@ -72,15 +72,6 @@ func (s *cronStubSandbox) ExecStream( return &sandbox.ExecResult{Stdout: "ok", ExitCode: 0}, nil } -type noopExecutor struct{} - -func (n *noopExecutor) ProcessDirectWithChannel( - ctx context.Context, - content, sessionKey, channel, chatID string, -) (string, error) { - return "ok", nil -} - func TestCronTool_ExecuteJob_BlocksDangerousCommandViaGuard(t *testing.T) { msgBus := bus.NewMessageBus() sb := &cronStubSandbox{}