mirror of
https://github.com/Significant-Gravitas/AutoGPT.git
synced 2026-02-10 23:05:17 -05:00
Complete the implementation of the Agent Run Scheduling UX in the Library. Demo: https://github.com/user-attachments/assets/701adc63-452c-4d37-aeea-51788b2774f2 ### Changes 🏗️ Frontend: - Add "Schedule" button + dialog + logic to `AgentRunDraftView` - Update corresponding logic on `AgentRunsPage` - Add schedule name field to `CronSchedulerDialog` - Amend Builder components `useAgentGraph`, `FlowEditor`, `RunnerUIWrapper` to also handle schedule name input - Split `CronScheduler` into `CronScheduler`+`CronSchedulerDialog` - Make `AgentScheduleDetailsView` more fully functional - Add schedule description to info box - Add "Delete schedule" button - Update schedule create/select/delete logic in `AgentRunsPage` - Improve schedule UX in `AgentRunsSelectorList` - Switch tabs automatically when a run or schedule is selected - Remove now-redundant schedule filters - Refactor `@/lib/monitor/cronExpressionManager` into `@/lib/cron-expression-utils` Backend + API: - Add name and credentials to graph execution schedule job params - Update schedule API - `POST /schedules` -> `POST /graphs/{graph_id}/schedules` - Add `GET /graphs/{graph_id}/schedules` - Add not found error handling to `DELETE /schedules/{schedule_id}` - Minor refactoring Backend: - Fix "`GraphModel`->`NodeModel` is not fully defined" error in scheduler - Add support for all exceptions defined in `backend.util.exceptions` to RPC logic in `backend.util.service` - Fix inconsistent log prefixing in `backend.executor.scheduler` ### Checklist 📋 #### For code changes: - [x] I have clearly listed my changes in the PR description - [x] I have made a test plan - [x] I have tested my changes according to the test plan: - Create a simple agent with inputs and blocks that require credentials; go to this agent in the Library - Fill out the inputs and click "Schedule"; make it run every minute (for testing purposes) - [x] -> newly created schedule appears in the list - [x] -> scheduled runs are successful - Click "Delete schedule" - [x] -> schedule no longer in list - [x] -> on deleting the last schedule, view switches back to the Runs list - [x] -> no new runs occur from the deleted schedule