Fork tasks from snapshots; snapshot only when text follows tool calls

This commit is contained in:
Ian Gulliver
2026-10-15 11:36:51 -07:00
parent 3fe0374ac5
commit 0000db1f86
25 changed files with 893 additions and 421 deletions
+20
View File
@@ -529,6 +529,26 @@ func (s *Server) ListSnapshots(w http.ResponseWriter, r *http.Request, taskID st
writeJSON(w, http.StatusOK, snaps)
}
func (s *Server) ForkSnapshot(w http.ResponseWriter, r *http.Request, taskID string, n int) {
t, p, ok := s.activeTask(w, r, taskID)
if !ok {
return
}
u, err := s.store.GetUser(r.Context(), actor(r))
if err != nil {
writeStoreError(w, err)
return
}
fork, err := s.agents.Fork(r.Context(), t, p, n, u)
if err != nil {
writeAgentError(w, err)
return
}
writeJSON(w, http.StatusCreated, fork)
}
func (s *Server) ListSessions(w http.ResponseWriter, r *http.Request, taskID string) {
_, err := s.store.GetTask(r.Context(), taskID)
if err != nil {