From 8b795ad7e625879855eaf31ed20016736f2570aa Mon Sep 17 00:00:00 2001 From: Ollie Agent Date: Sat, 1 Aug 2026 19:56:14 +0200 Subject: [PATCH] fix: allow access to agent/new on empty sessions pathType in server.go blocked walks to agent/new when Core is nil. Added early return for parts[2]=="new" before the nil-guard so the agent creation file is always accessible. Also made agent/new rdwr return the agent name instead of just "ok". --- cmd/olliesrv/server.go | 7 +++++++ fs/session/root.go | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/cmd/olliesrv/server.go b/cmd/olliesrv/server.go index 1a5e028..321e71f 100644 --- a/cmd/olliesrv/server.go +++ b/cmd/olliesrv/server.go @@ -573,6 +573,13 @@ func (s *Server) pathType(path string) string { if len(parts) == 2 { return "dir" } + // agent/new is always accessible — it creates the agent + if len(parts) >= 3 && parts[2] == "new" { + if len(parts) == 3 { + return "file" + } + return "" + } // No agent in empty session. if sess.Core == nil { return "" diff --git a/fs/session/root.go b/fs/session/root.go index e52d390..d6dec59 100644 --- a/fs/session/root.go +++ b/fs/session/root.go @@ -486,7 +486,7 @@ func rootOpen(rs *rootState, name string) (File, error) { if err := CreateAgent(rs, sessID, strings.Fields(strings.TrimSpace(string(data)))); err != nil { return err } - agentResult = "ok" + agentResult = sess.Core.Agent().Name() return nil }, BlockingReadFn: notBlocking,