Start a new task from a closed task

This commit is contained in:
Ian Gulliver
2026-10-22 09:05:24 -07:00
parent 88c0199845
commit fedd4ad673
13 changed files with 589 additions and 365 deletions
+54
View File
@@ -840,6 +840,60 @@ func (s *Server) ForkSnapshot(w http.ResponseWriter, r *http.Request, taskID str
writeJSON(w, http.StatusCreated, fork)
}
func (s *Server) ContinueSession(w http.ResponseWriter, r *http.Request, sessionID string) {
req := api.MessageCreate{}
if !readJSON(w, r, &req) {
return
}
images, ok := s.images(w, r, req.Images)
if !ok {
return
}
if strings.TrimSpace(req.Text) == "" && len(images) == 0 {
writeError(w, http.StatusBadRequest, errors.New("text or images are required"))
return
}
model := ""
if req.Model != nil {
model = *req.Model
}
sendID := ""
if req.SendId != nil {
sendID = *req.SendId
}
src, err := s.store.GetSession(r.Context(), sessionID)
if err != nil {
writeStoreError(w, err)
return
}
t, err := s.store.GetTask(r.Context(), src.TaskId)
if err != nil {
writeStoreError(w, err)
return
}
p, err := s.store.GetProject(r.Context(), t.ProjectId)
if err != nil {
writeStoreError(w, err)
return
}
u, err := s.store.GetUser(r.Context(), actor(r))
if err != nil {
writeStoreError(w, err)
return
}
task, err := s.agents.Continue(r.Context(), src, t, p, u, req.Text, model, sendID, r.Header.Get("Byre-Client"), images...)
if err != nil {
writeAgentError(w, err)
return
}
writeJSON(w, http.StatusCreated, task)
}
func (s *Server) ListSessions(w http.ResponseWriter, r *http.Request, taskID string) {
_, err := s.store.GetTask(r.Context(), taskID)
if err != nil {