Add a per-user lead agent and make the right pane task-focused

This commit is contained in:
Ian Gulliver
2026-10-15 09:40:30 -07:00
parent d212590cdc
commit bdd1ae48f0
68 changed files with 3332 additions and 1364 deletions
+4 -9
View File
@@ -61,7 +61,7 @@ func New(dataDir string, spa fs.FS) (*Server, error) {
return nil, fmt.Errorf("start push notifier: %w", err)
}
s.agents = agents.New(s.store, agents.DefaultLimits, filepath.Join(dataDir, "worktrees"))
s.agents = agents.New(s.store, agents.DefaultLimits, filepath.Join(dataDir, "worktrees"), filepath.Join(dataDir, "leads"))
err = s.agents.Recover(context.Background())
if err != nil {
s.notifier.Close()
@@ -78,6 +78,7 @@ const pushWindow = 3 * time.Second
func (s *Server) publish(ev api.Event) {
s.hub.publish(ev)
s.notifier.Observe(ev)
s.agents.Observe(ev)
}
func (s *Server) Close() error {
@@ -414,13 +415,7 @@ func (s *Server) DiscardTask(w http.ResponseWriter, r *http.Request, taskID stri
return
}
err := s.agents.RemoveTask(r.Context(), t, p, actor(r))
if err != nil {
writeError(w, http.StatusInternalServerError, err)
return
}
t, err = s.store.DiscardTask(r.Context(), taskID, actor(r))
t, err := s.agents.Discard(r.Context(), t, p, actor(r))
if err != nil {
writeStoreError(w, err)
return
@@ -652,7 +647,7 @@ func writeAgentError(w http.ResponseWriter, err error) {
writeError(w, http.StatusNotFound, err)
case errors.Is(err, agents.ErrConflict):
writeError(w, http.StatusConflict, err)
case errors.Is(err, agents.ErrNoGitIdentity):
case errors.Is(err, agents.ErrInvalid), errors.Is(err, agents.ErrNoGitIdentity):
writeError(w, http.StatusBadRequest, err)
default:
writeError(w, http.StatusInternalServerError, err)