From 9395a0e07bb777e1d9ee1e9fd3bc0e6dadb4cb01 Mon Sep 17 00:00:00 2001 From: Ollie Agent Date: Mon, 7 Sep 2026 13:23:17 +0200 Subject: [PATCH] config: rename agent autoLoad field to tools The autoLoad name implied an automatic tool-loading path that no longer exists; tools now come only from agent config plus the /tool_load ctl command. Rename the AgentConfig.AutoLoad field (json autoLoad) to Tools (json tools), rename LoadAutoLoadTools to LoadTools, and update all 14 agent JSON profiles and the tool-not-loaded error message. --- cmd/olliesrv/internal/agent/agent_config.go | 2 +- cmd/olliesrv/internal/backend/notools_test.go | 2 +- cmd/olliesrv/internal/fs/spec.go | 2 +- cmd/olliesrv/internal/session/registry.go | 2 +- cmd/olliesrv/internal/session/session.go | 2 +- cmd/olliesrv/internal/session/setup.go | 8 ++++---- cmd/toolsrv/internal/server/proc.go | 2 +- data/agents/author.json | 2 +- data/agents/conductor.json | 2 +- data/agents/copilot.json | 2 +- data/agents/default.json | 2 +- data/agents/driver.json | 2 +- data/agents/explorer.json | 2 +- data/agents/foreman.json | 2 +- data/agents/librarian.json | 2 +- data/agents/navigator.json | 2 +- data/agents/observer.json | 2 +- data/agents/panelist.json | 2 +- data/agents/reviewer.json | 2 +- data/agents/taskmanager.json | 2 +- data/agents/theo.json | 2 +- 21 files changed, 24 insertions(+), 24 deletions(-) diff --git a/cmd/olliesrv/internal/agent/agent_config.go b/cmd/olliesrv/internal/agent/agent_config.go index d90e7bd..bc3e9e4 100644 --- a/cmd/olliesrv/internal/agent/agent_config.go +++ b/cmd/olliesrv/internal/agent/agent_config.go @@ -33,7 +33,7 @@ type AgentConfig struct { Backend string `json:"backend,omitempty"` Model string `json:"model,omitempty"` - AutoLoad []string `json:"autoLoad,omitempty"` + Tools []string `json:"tools,omitempty"` CompactionModel string `json:"compactionModel,omitempty"` // SystemPrompt overrides the embedded system prompt with a file path. SystemPrompt string `json:"systemPrompt,omitempty"` diff --git a/cmd/olliesrv/internal/backend/notools_test.go b/cmd/olliesrv/internal/backend/notools_test.go index 47fcb4d..99611ae 100644 --- a/cmd/olliesrv/internal/backend/notools_test.go +++ b/cmd/olliesrv/internal/backend/notools_test.go @@ -12,7 +12,7 @@ import ( ) // These tests lock in the "no tools loaded" compatibility path: an agent with -// an empty autoLoadTools set (and no /tool_load) produces an empty tool slice, +// an empty tools set (and no /tool_load) produces an empty tool slice, // and every backend must then emit a request with NO "tools" field. This keeps // Ollie compatible with models that do not support tool/function calling — the // answer for such a model is simply to use a tool-free agent. diff --git a/cmd/olliesrv/internal/fs/spec.go b/cmd/olliesrv/internal/fs/spec.go index 2dc1d87..9bce7a3 100644 --- a/cmd/olliesrv/internal/fs/spec.go +++ b/cmd/olliesrv/internal/fs/spec.go @@ -989,7 +989,7 @@ func buildAgentChildren(a *agent.Agent, s *session.Session) []virtfs.FsNodeDecl // Reload tools for the new profile if ts := a.ToolServer(); ts != nil { ts.ClearTools() - session.LoadAutoLoadTools(cfg, ts, s.ID, a.ID(), nil) + session.LoadTools(cfg, ts, s.ID, a.ID(), nil) } return []byte(args[0] + "\n"), nil }, diff --git a/cmd/olliesrv/internal/session/registry.go b/cmd/olliesrv/internal/session/registry.go index ea0bf23..b7ae071 100644 --- a/cmd/olliesrv/internal/session/registry.go +++ b/cmd/olliesrv/internal/session/registry.go @@ -416,7 +416,7 @@ func buildAgent(sess *Session, p AgentParams) (*agent.Agent, error) { layers := BuildPromptLayers(cfg, cwd, sessID, p.ID, infra.Platform, infra.IsGitRepo, "") // Load tools - LoadAutoLoadTools(cfg, infra.ToolsConn, sessID, p.ID, func(f string, a ...any) { + LoadTools(cfg, infra.ToolsConn, sessID, p.ID, func(f string, a ...any) { pkgLog.Error("session %s agent %s: "+f, append([]any{sessID, p.ID}, a...)...) }) diff --git a/cmd/olliesrv/internal/session/session.go b/cmd/olliesrv/internal/session/session.go index 4dc336c..5e1721e 100644 --- a/cmd/olliesrv/internal/session/session.go +++ b/cmd/olliesrv/internal/session/session.go @@ -509,7 +509,7 @@ func rebuildAgentRuntime(ag *agent.Agent, sessID string) error { } rt.Backend = be ag.SetRuntime(rt) - LoadAutoLoadTools(cfg, ag.ToolServer(), sessID, ag.ID(), func(f string, a ...any) { + LoadTools(cfg, ag.ToolServer(), sessID, ag.ID(), func(f string, a ...any) { pkgLog.Error("session %s agent %s: "+f, append([]any{sessID, ag.ID()}, a...)...) }) return nil diff --git a/cmd/olliesrv/internal/session/setup.go b/cmd/olliesrv/internal/session/setup.go index 611de3b..72647b7 100644 --- a/cmd/olliesrv/internal/session/setup.go +++ b/cmd/olliesrv/internal/session/setup.go @@ -169,10 +169,10 @@ func BuildPromptLayers(cfg *agent.AgentConfig, cwd, sessID, uname, platform stri } } -// LoadAutoLoadTools loads all tools from the agent config's autoLoad list. +// LoadTools loads all tools from the agent config's tools list. // It first sends the session ID and uname to the tool server so that // ollie-remote can attach its tool registry before processing tool_load RPCs. -func LoadAutoLoadTools(cfg *agent.AgentConfig, conn *toolclient.ToolsrvConn, sessID, uname string, logError func(string, ...any)) { +func LoadTools(cfg *agent.AgentConfig, conn *toolclient.ToolsrvConn, sessID, uname string, logError func(string, ...any)) { if cfg == nil || conn == nil { return } @@ -186,10 +186,10 @@ func LoadAutoLoadTools(cfg *agent.AgentConfig, conn *toolclient.ToolsrvConn, ses conn.SetAgentID(uname) } - for _, tl := range cfg.AutoLoad { + for _, tl := range cfg.Tools { if err := LoadToolOnConn(conn, tl); err != nil { if logError != nil { - logError("autoLoad tool %q: %v", tl, err) + logError("load tool %q: %v", tl, err) } } } diff --git a/cmd/toolsrv/internal/server/proc.go b/cmd/toolsrv/internal/server/proc.go index f7ffaec..7ddeb76 100644 --- a/cmd/toolsrv/internal/server/proc.go +++ b/cmd/toolsrv/internal/server/proc.go @@ -305,7 +305,7 @@ func (st *State) NewProc(ctx context.Context, payload string, background bool) ( info, ok := reg.Lookup(aid, toolName) if !ok { - return "", 0, fmt.Errorf("tool not loaded: %s (add to autoLoad in agent config)", toolName) + return "", 0, fmt.Errorf("tool not loaded: %s (add to tools in agent config)", toolName) } // Reject shell calls that invoke a native tool. diff --git a/data/agents/author.json b/data/agents/author.json index 84df4c3..5b46ffe 100644 --- a/data/agents/author.json +++ b/data/agents/author.json @@ -5,7 +5,7 @@ "userPrompts": [ "$XDG_CONFIG_HOME/ollie/prompts/user-preferences.md" ], - "autoLoad": [ + "tools": [ "shell", "client_9p", "memory_wake", diff --git a/data/agents/conductor.json b/data/agents/conductor.json index fde3b60..ad462b1 100644 --- a/data/agents/conductor.json +++ b/data/agents/conductor.json @@ -5,7 +5,7 @@ "userPrompts": [ "$XDG_CONFIG_HOME/ollie/prompts/user-preferences.md" ], - "autoLoad": [ + "tools": [ "client_9p", "subagent_spawn", "reasoning_think", diff --git a/data/agents/copilot.json b/data/agents/copilot.json index 2424870..144e5d1 100644 --- a/data/agents/copilot.json +++ b/data/agents/copilot.json @@ -5,7 +5,7 @@ "userPrompts": [ "$XDG_CONFIG_HOME/ollie/prompts/user-preferences.md" ], - "autoLoad": [ + "tools": [ "memory_wake", "memory_recall", "memory_remember", diff --git a/data/agents/default.json b/data/agents/default.json index e326511..dc13020 100644 --- a/data/agents/default.json +++ b/data/agents/default.json @@ -5,7 +5,7 @@ "userPrompts": [ "$XDG_CONFIG_HOME/ollie/prompts/user-preferences.md" ], - "autoLoad": [ + "tools": [ "shell", "client_9p", "reasoning_think", diff --git a/data/agents/driver.json b/data/agents/driver.json index b187edb..036dd45 100644 --- a/data/agents/driver.json +++ b/data/agents/driver.json @@ -5,7 +5,7 @@ "userPrompts": [ "$XDG_CONFIG_HOME/ollie/prompts/user-preferences.md" ], - "autoLoad": [ + "tools": [ "shell", "client_9p", "subagent_spawn", diff --git a/data/agents/explorer.json b/data/agents/explorer.json index cca7b3e..d7f8fb7 100644 --- a/data/agents/explorer.json +++ b/data/agents/explorer.json @@ -5,7 +5,7 @@ "userPrompts": [ "$XDG_CONFIG_HOME/ollie/prompts/user-preferences.md" ], - "autoLoad": [ + "tools": [ "reasoning_think", "memory_wake", "memory_recall", diff --git a/data/agents/foreman.json b/data/agents/foreman.json index eaf1410..a01e189 100644 --- a/data/agents/foreman.json +++ b/data/agents/foreman.json @@ -5,7 +5,7 @@ "userPrompts": [ "$XDG_CONFIG_HOME/ollie/prompts/user-preferences.md" ], - "autoLoad": [ + "tools": [ "client_9p", "memory_wake", "memory_recall", diff --git a/data/agents/librarian.json b/data/agents/librarian.json index bc4b686..c136058 100644 --- a/data/agents/librarian.json +++ b/data/agents/librarian.json @@ -5,7 +5,7 @@ "userPrompts": [ "$XDG_CONFIG_HOME/ollie/prompts/user-preferences.md" ], - "autoLoad": [ + "tools": [ "reasoning_think", "memory_wake", "memory_recall", diff --git a/data/agents/navigator.json b/data/agents/navigator.json index ef11d0c..b159ebf 100644 --- a/data/agents/navigator.json +++ b/data/agents/navigator.json @@ -5,7 +5,7 @@ "userPrompts": [ "$XDG_CONFIG_HOME/ollie/prompts/user-preferences.md" ], - "autoLoad": [ + "tools": [ "reasoning_think", "memory_wake", "memory_recall", diff --git a/data/agents/observer.json b/data/agents/observer.json index 3901992..30dbba9 100644 --- a/data/agents/observer.json +++ b/data/agents/observer.json @@ -2,7 +2,7 @@ "prompt": [ "$XDG_CONFIG_HOME/ollie/prompts/agent-observer.md" ], - "autoLoad": [ + "tools": [ "memory_wake", "memory_recall", "memory_remember", diff --git a/data/agents/panelist.json b/data/agents/panelist.json index 7ea31b2..00f7520 100644 --- a/data/agents/panelist.json +++ b/data/agents/panelist.json @@ -5,7 +5,7 @@ "userPrompts": [ "$XDG_CONFIG_HOME/ollie/prompts/user-preferences.md" ], - "autoLoad": [ + "tools": [ "client_9p", "memory_wake", "memory_recall", diff --git a/data/agents/reviewer.json b/data/agents/reviewer.json index 0165bd2..887491d 100644 --- a/data/agents/reviewer.json +++ b/data/agents/reviewer.json @@ -5,7 +5,7 @@ "userPrompts": [ "$XDG_CONFIG_HOME/ollie/prompts/user-preferences.md" ], - "autoLoad": [ + "tools": [ "client_9p", "memory_wake", "memory_recall", diff --git a/data/agents/taskmanager.json b/data/agents/taskmanager.json index 35a6046..2eda685 100644 --- a/data/agents/taskmanager.json +++ b/data/agents/taskmanager.json @@ -5,7 +5,7 @@ "userPrompts": [ "$XDG_CONFIG_HOME/ollie/prompts/user-preferences.md" ], - "autoLoad": [ + "tools": [ "client_9p", "reasoning_think", "memory_wake", diff --git a/data/agents/theo.json b/data/agents/theo.json index 1c1586c..890c9f0 100644 --- a/data/agents/theo.json +++ b/data/agents/theo.json @@ -5,7 +5,7 @@ "userPrompts": [ "$XDG_CONFIG_HOME/ollie/prompts/user-preferences.md" ], - "autoLoad": [ + "tools": [ "reasoning_think", "memory_wake", "memory_recall",