From 81ad172aa39e337be614d4f14e1df873b1d19ec1 Mon Sep 17 00:00:00 2001 From: Levi Neely <141506390+lneely@users.noreply.github.com> Date: Sat, 18 Jul 2026 15:27:05 +0200 Subject: [PATCH] 9p: add /agents file listing available agent configs --- main.go | 16 ++++++++++++++++ server/server.go | 2 +- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/main.go b/main.go index ec99113..6e5e00d 100644 --- a/main.go +++ b/main.go @@ -315,6 +315,22 @@ func NewRootStore() *fs.Tree { "help": func() ([]byte, error) { return os.ReadFile(helpPath) }, + "agents": func() ([]byte, error) { + var sb strings.Builder + for _, dir := range agent.AgentsDirs() { + entries, err := os.ReadDir(dir) + if err != nil { + continue + } + for _, e := range entries { + if !e.IsDir() && strings.HasSuffix(e.Name(), ".json") { + sb.WriteString(strings.TrimSuffix(e.Name(), ".json")) + sb.WriteByte('\n') + } + } + } + return []byte(sb.String()), nil + }, } notBlocking := func(context.Context, string) ([]byte, string, error) { return nil, "", fmt.Errorf("blocking read not supported") diff --git a/server/server.go b/server/server.go index 760cec1..c5a6ca6 100644 --- a/server/server.go +++ b/server/server.go @@ -1013,7 +1013,7 @@ func (s *Server) buildDirData(path string) []byte { var dirs []plan9.Dir if path == "/" { - rootEntries := []string{"backends", "ctl", "help", "models", "s"} + rootEntries := []string{"agents", "backends", "ctl", "help", "models", "s"} for _, name := range rootEntries { fpath := "/" + name st := s.makeStat(fpath)