Allow sending queued messages when a task is stopped

This commit is contained in:
Ian Gulliver
2026-10-23 21:29:50 -07:00
parent 5987e764c4
commit d13e1f695f
6 changed files with 530 additions and 368 deletions
+7
View File
@@ -1057,6 +1057,13 @@ paths:
parameters:
- { name: taskId, in: path, required: true, schema: { type: string } }
- { name: inputId, in: path, required: true, schema: { type: integer, format: int64 } }
post:
operationId: sendQueuedMessage
description: Sends this queued message as a new turn when its task agent is idle or stopped.
responses:
"204": { description: The message was sent. }
"404": { $ref: "#/components/responses/Error" }
"409": { $ref: "#/components/responses/Error" }
delete:
operationId: withdrawMessage
description: >
+57
View File
@@ -325,3 +325,60 @@ func (m *Manager) recordQueued(ctx context.Context, l *live, msgs []queued) stri
slog.Info("queued messages sent mid-turn", "session", l.id, "count", len(msgs))
return b.String()
}
func (m *Manager) SendQueued(ctx context.Context, taskID string, inputID int64, user api.User) error {
createUnlock := m.lockDelivery("create:" + taskID)
defer createUnlock()
ctx = context.WithoutCancel(ctx)
in, err := m.store.TaskInput(ctx, taskID, inputID)
if err != nil {
return err
}
task, err := m.store.GetTask(ctx, taskID)
if err != nil {
return err
}
if task.Status != api.TaskStatusActive {
return fmt.Errorf("%w: task is closed", ErrConflict)
}
sessions, err := m.store.ListSessions(ctx, taskID)
if err != nil {
return err
}
sess, found := memberSession(sessions, in.Member)
if found {
sessionUnlock := m.lockDelivery(sess.Id)
defer sessionUnlock()
sess, err = m.store.GetSession(ctx, sess.Id)
if err != nil {
return err
}
if sess.State != api.AgentSessionStateIdle || m.isPaused(sess.Id) {
return fmt.Errorf("%w: agent must be idle and unpaused", ErrConflict)
}
}
// Match Deliver's lock order: session before queue. Re-read the input
// because another delivery or withdrawal may have taken it while we waited.
unlock := m.lockDelivery(queueLockKey(taskID))
defer unlock()
in, err = m.store.TaskInput(ctx, taskID, inputID)
if err != nil {
return err
}
p := Prompt{Text: in.Text, Kind: in.Kind, Images: in.Images, SendID: in.SendID, Client: in.Client}
if found {
_, err = m.Send(ctx, sess.Id, in.Actor, p)
} else {
for i := len(sessions) - 1; i >= 0; i-- {
if sessions[i].Member == in.Member && sessions[i].Role == api.Implementer {
p.Model, p.Effort = sessions[i].Model, sessions[i].Effort
break
}
}
_, err = m.create(ctx, task, user, in.Member, in.Actor, p)
}
if err != nil {
return err
}
return m.store.DeleteTaskInputs(ctx, []int64{in.ID})
}
+407 -367
View File
@@ -2303,6 +2303,9 @@ type ServerInterface interface {
// (DELETE /api/tasks/{taskId}/queue/{inputId})
WithdrawMessage(w http.ResponseWriter, r *http.Request, taskId string, inputId int64)
// (POST /api/tasks/{taskId}/queue/{inputId})
SendQueuedMessage(w http.ResponseWriter, r *http.Request, taskId string, inputId int64)
// (GET /api/tasks/{taskId}/raw)
GetTaskRaw(w http.ResponseWriter, r *http.Request, taskId string, params GetTaskRawParams)
@@ -4257,6 +4260,41 @@ func (siw *ServerInterfaceWrapper) WithdrawMessage(w http.ResponseWriter, r *htt
handler.ServeHTTP(w, r)
}
// SendQueuedMessage operation middleware
func (siw *ServerInterfaceWrapper) SendQueuedMessage(w http.ResponseWriter, r *http.Request) {
var err error
_ = err
// ------------- Path parameter "taskId" -------------
var taskId string
err = runtime.BindStyledParameterWithOptions("simple", "taskId", r.PathValue("taskId"), &taskId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "", ValueIsUnescaped: true})
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "taskId", Err: err})
return
}
// ------------- Path parameter "inputId" -------------
var inputId int64
err = runtime.BindStyledParameterWithOptions("simple", "inputId", r.PathValue("inputId"), &inputId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "integer", Format: "int64", ValueIsUnescaped: true})
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "inputId", Err: err})
return
}
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.SendQueuedMessage(w, r, taskId, inputId)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// GetTaskRaw operation middleware
func (siw *ServerInterfaceWrapper) GetTaskRaw(w http.ResponseWriter, r *http.Request) {
@@ -4892,6 +4930,7 @@ func HandlerWithOptions(si ServerInterface, options StdHTTPServerOptions) http.H
m.HandleFunc(http.MethodGet+" "+options.BaseURL+"/api/tasks/{taskId}/sessions", wrapper.ListSessions)
m.HandleFunc(http.MethodPost+" "+options.BaseURL+"/api/tasks/{taskId}/sessions", wrapper.CreateSession)
m.HandleFunc(http.MethodDelete+" "+options.BaseURL+"/api/tasks/{taskId}/queue/{inputId}", wrapper.WithdrawMessage)
m.HandleFunc(http.MethodPost+" "+options.BaseURL+"/api/tasks/{taskId}/queue/{inputId}", wrapper.SendQueuedMessage)
m.HandleFunc(http.MethodPost+" "+options.BaseURL+"/api/sessions/{sessionId}/messages", wrapper.SendMessage)
m.HandleFunc(http.MethodPost+" "+options.BaseURL+"/api/sessions/{sessionId}/compact", wrapper.CompactSession)
m.HandleFunc(http.MethodPost+" "+options.BaseURL+"/api/sessions/{sessionId}/interrupt", wrapper.InterruptSession)
@@ -4928,373 +4967,374 @@ func HandlerWithOptions(si ServerInterface, options StdHTTPServerOptions) http.H
// const string: with thousands of chunks the chained `+` fold is several
// times slower for the Go compiler than parsing a slice literal.
var swaggerSpec = []string{
"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",
}
// decodeSpec returns the embedded OpenAPI spec as raw JSON bytes,
+12
View File
@@ -986,3 +986,15 @@ func writeStoreError(w http.ResponseWriter, err error) {
}
writeError(w, http.StatusInternalServerError, err)
}
func (s *Server) SendQueuedMessage(w http.ResponseWriter, r *http.Request, taskID string, inputID int64) {
u, ok := s.actingUser(w, r)
if !ok {
return
}
if err := s.agents.SendQueued(r.Context(), taskID, inputID, u); err != nil {
writeAgentError(w, err)
return
}
w.WriteHeader(http.StatusNoContent)
}
+21
View File
@@ -151,3 +151,24 @@ func (s *Store) DeleteTaskInputs(ctx context.Context, ids []int64) error {
return nil
})
}
func (s *Store) TaskInput(ctx context.Context, taskID string, id int64) (TaskInput, error) {
var member string
err := s.db.QueryRowContext(ctx, `SELECT member FROM task_inputs WHERE task_id = ? AND id = ?`, taskID, id).Scan(&member)
if errors.Is(err, sql.ErrNoRows) {
return TaskInput{}, ErrNotFound
}
if err != nil {
return TaskInput{}, err
}
inputs, err := s.TaskInputs(ctx, taskID, member)
if err != nil {
return TaskInput{}, err
}
for _, in := range inputs {
if in.ID == id {
return in, nil
}
}
return TaskInput{}, ErrNotFound
}
+26 -1
View File
@@ -521,6 +521,19 @@ final class ChatModel {
}
}
var canSendQueued: Bool {
taskId != nil && !closed && !stopping && !paused && session?.state != .running
}
func sendQueued(_ p: PendingSend, _ overlays: Overlays) async {
guard let taskId, let inputId = p.inputId else { return }
do {
_ = try await store.api.client.sendQueuedMessage(path: .init(taskId: taskId, inputId: Int64(inputId))).noContent
} catch {
overlays.showAlert(errorText(error))
}
}
func withdraw(_ p: PendingSend, _ overlays: Overlays) async {
guard let taskId, let inputId = p.inputId else {
return
@@ -1126,6 +1139,7 @@ private struct PendingView: View {
let model: ChatModel
@Environment(Overlays.self) private var overlays
@ViewState private var withdrawing = false
@ViewState private var sending = false
var body: some View {
TrailingBubble {
@@ -1135,6 +1149,17 @@ private struct PendingView: View {
.font(Fonts.font(11, italic: true))
.foregroundStyle(Palette.muted)
if pending.inputId != nil {
if model.canSendQueued {
Button("Send") {
sending = true
Task {
await model.sendQueued(pending, overlays)
sending = false
}
}
.buttonStyle(WebButtonStyle())
.disabled(sending || withdrawing)
}
Button("×") {
withdrawing = true
Task {
@@ -1143,7 +1168,7 @@ private struct PendingView: View {
}
}
.buttonStyle(ThumbRemoveStyle())
.disabled(withdrawing)
.disabled(withdrawing || sending)
.help("Take this message back into the composer")
}
}