Simplify codebase per audit of 0139564
This commit is contained in:
+12
-48
@@ -629,9 +629,7 @@ func (s *Store) ParentMergeBy(ctx context.Context, id string) (string, error) {
|
||||
func (s *Store) ReserveMergeTurn(ctx context.Context, id, sessionID string) (bool, error) {
|
||||
reserved := false
|
||||
err := s.write(ctx, func(tx *sql.Tx, emit emitFunc) error {
|
||||
res, err := tx.ExecContext(ctx, `UPDATE tasks SET merge_state = 'turn' WHERE id = ? AND merge_state = 'claimed'
|
||||
AND NOT EXISTS (SELECT 1 FROM agent_sessions s WHERE s.task_id = tasks.id AND s.role = ? AND s.state = ?)`,
|
||||
id, string(api.Implementer), string(api.AgentSessionStateRunning))
|
||||
res, err := tx.ExecContext(ctx, `UPDATE tasks SET merge_state = 'turn' WHERE id = ? AND merge_state = 'claimed' AND NOT `+implementerRunning, id)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -1339,28 +1337,18 @@ func (s *Store) PausedSessions(ctx context.Context) ([]api.AgentSession, error)
|
||||
}
|
||||
|
||||
func (s *Store) SetSessionPaused(ctx context.Context, id string, paused bool, actor string) error {
|
||||
return s.write(ctx, func(tx *sql.Tx, emit emitFunc) error {
|
||||
taskID := ""
|
||||
projectID := ""
|
||||
owner := ""
|
||||
err := tx.QueryRowContext(ctx, `
|
||||
SELECT coalesce(t.id, ''), coalesce(t.project_id, ''), s.owner FROM agent_sessions s LEFT JOIN tasks t ON t.id = s.task_id WHERE s.id = ?
|
||||
`, id).Scan(&taskID, &projectID, &owner)
|
||||
if errors.Is(err, sql.ErrNoRows) {
|
||||
return ErrNotFound
|
||||
}
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
_, err = tx.ExecContext(ctx, `UPDATE agent_sessions SET paused = ? WHERE id = ?`, paused, id)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return emit(sessionEvent("session.paused", projectID, taskID, owner, id, actor, map[string]any{"paused": paused}))
|
||||
})
|
||||
return s.updateSession(ctx, id, actor, "session.paused", map[string]any{"paused": paused}, `paused = ?`, paused)
|
||||
}
|
||||
|
||||
func (s *Store) SetSubagents(ctx context.Context, id string, n int, actor string) error {
|
||||
return s.updateSession(ctx, id, actor, "session.subagents", map[string]any{"subagents": n}, `subagents = ?`, n)
|
||||
}
|
||||
|
||||
func (s *Store) SetSessionModel(ctx context.Context, id, model, effort, actor string) error {
|
||||
return s.updateSession(ctx, id, actor, "session.model", map[string]any{"model": model, "effort": effort}, `model = ?, effort = ?`, model, effort)
|
||||
}
|
||||
|
||||
func (s *Store) updateSession(ctx context.Context, id, actor, kind string, payload map[string]any, set string, args ...any) error {
|
||||
return s.write(ctx, func(tx *sql.Tx, emit emitFunc) error {
|
||||
taskID := ""
|
||||
projectID := ""
|
||||
@@ -1374,11 +1362,11 @@ func (s *Store) SetSubagents(ctx context.Context, id string, n int, actor string
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
_, err = tx.ExecContext(ctx, `UPDATE agent_sessions SET subagents = ? WHERE id = ?`, n, id)
|
||||
_, err = tx.ExecContext(ctx, `UPDATE agent_sessions SET `+set+` WHERE id = ?`, append(args, id)...)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return emit(sessionEvent("session.subagents", projectID, taskID, owner, id, actor, map[string]any{"subagents": n}))
|
||||
return emit(sessionEvent(kind, projectID, taskID, owner, id, actor, payload))
|
||||
})
|
||||
}
|
||||
|
||||
@@ -1465,30 +1453,6 @@ func (s *Store) SetVendorSessionID(ctx context.Context, id, vendorSessionID stri
|
||||
})
|
||||
}
|
||||
|
||||
func (s *Store) SetSessionModel(ctx context.Context, id, model, effort, actor string) error {
|
||||
return s.write(ctx, func(tx *sql.Tx, emit emitFunc) error {
|
||||
taskID := ""
|
||||
projectID := ""
|
||||
owner := ""
|
||||
err := tx.QueryRowContext(ctx, `
|
||||
SELECT coalesce(t.id, ''), coalesce(t.project_id, ''), s.owner FROM agent_sessions s LEFT JOIN tasks t ON t.id = s.task_id WHERE s.id = ?
|
||||
`, id).Scan(&taskID, &projectID, &owner)
|
||||
if errors.Is(err, sql.ErrNoRows) {
|
||||
return ErrNotFound
|
||||
}
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
_, err = tx.ExecContext(ctx, `UPDATE agent_sessions SET model = ?, effort = ? WHERE id = ?`, model, effort, id)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return emit(sessionEvent("session.model", projectID, taskID, owner, id, actor, map[string]any{"model": model, "effort": effort}))
|
||||
})
|
||||
}
|
||||
|
||||
type Counts struct {
|
||||
LastEventSeq int64
|
||||
Projects int
|
||||
|
||||
Reference in New Issue
Block a user