-
Notifications
You must be signed in to change notification settings - Fork 2.4k
Platform Tool for Scheduler: Allow Goose to Manage Its Own Schedule #2944
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
can you explain why agents need scheduler access, not quite following what this is about. |
Enabling goose to run recipes in isolated agents on demand opens up some interesting use cases around agents effectively managing agents. And recipes are going to be a major part of the UX. So having goose manage its own library of them seems right. |
* main: Blog: Add video to container use blog (#3008) Use official logo in Goose web (#3012) fix shims for extensions on windows (#3009) fix powershell executions (#3006) Docs linux desktop (#3007) Platform Tool for Scheduler: Allow Goose to Manage Its Own Schedule (#2944) docs: container use blog and guide (#2962) Fix: Workflow syntax (#3002) Added just lint-ui for linting front end code (#2997) fix typo in secret name (#2994) feat(ui): add chain-of-thought panel above assistant messages (#2899) feat(cli): Add `--quiet /-q` flag to goose run (#2939) Feat: Recipe Library (#2946) Docs: Goose on Windows Installation (#2990) Fixes : Workflow error on issue comment (#2958) Add a setting for the quit confirmation dialog (#2901) Update bundle-desktop-windows.yml (#2988) feat: optional fast edit models (#2580) feat: Add lead-worker model selection and real-time model display in GUI (#2964)
# By Max Novich (4) and others # Via Alice Hau * ahau/tool-strategy: updated computercontroller and developer descriptions add additional strats to test Blog: Add video to container use blog (#3008) Use official logo in Goose web (#3012) fix shims for extensions on windows (#3009) fix powershell executions (#3006) Docs linux desktop (#3007) Platform Tool for Scheduler: Allow Goose to Manage Its Own Schedule (#2944) docs: container use blog and guide (#2962) Fix: Workflow syntax (#3002) Added just lint-ui for linting front end code (#2997) fix typo in secret name (#2994) feat(ui): add chain-of-thought panel above assistant messages (#2899) feat(cli): Add `--quiet /-q` flag to goose run (#2939) Feat: Recipe Library (#2946) Docs: Goose on Windows Installation (#2990) Fixes : Workflow error on issue comment (#2958) Add a setting for the quit confirmation dialog (#2901) Update bundle-desktop-windows.yml (#2988) # Conflicts: # Cargo.lock
…lock#2944) Signed-off-by: Soroosh <[email protected]>
This pull request introduces several updates to the Goose server and agent modules, focusing on enhancing scheduler functionality, improving error handling, and adding test utilities. The key changes include providing scheduler access to agents, refining error responses for scheduling operations, introducing a new tool for managing schedules, and adding test support utilities.
Scheduler Enhancements:
crates/goose-server/src/commands/agent.rs: Added functionality to provide scheduler access to agents by cloning the scheduler instance and setting it inagent_ref.Error Handling Improvements:
crates/goose-server/src/routes/schedule.rs: Enhanced error handling increate_scheduleby mapping specific scheduler errors (e.g.,JobNotFound,CronParseError,RecipeLoadError,JobIdExists) to corresponding HTTP status codes.crates/goose-server/src/routes/schedule.rs: Updated API responses to include status codes for400(Bad Request) and409(Conflict) for invalid cron expressions and duplicate job IDs, respectively.New Tool for Schedule Management:
crates/goose/src/agents/platform_tools.rs: Introduced themanage_schedule_toolfunction and its associated constantPLATFORM_MANAGE_SCHEDULE_TOOL_NAME. This tool enables managing scheduled jobs with actions like create, delete, pause, and inspect. [1] [2]Test Utilities:
crates/goose/src/scheduler_test_support.rs: Added a test-only utility for managing a default provider (TEST_PROVIDER) during scheduler job executions in tests. Includesset_test_providerandget_test_providerfunctions for setup and retrieval.crates/goose/src/agents/mod.rs: Added test modulesprivate_testsandtest_supportfor improved test coverage and organization.