Skip to content

Conversation

@tlongwell-block
Copy link
Collaborator

@tlongwell-block tlongwell-block commented Jun 16, 2025

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:

Error Handling Improvements:

  • crates/goose-server/src/routes/schedule.rs: Enhanced error handling in create_schedule by 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 for 400 (Bad Request) and 409 (Conflict) for invalid cron expressions and duplicate job IDs, respectively.

New Tool for Schedule Management:

  • crates/goose/src/agents/platform_tools.rs: Introduced the manage_schedule_tool function and its associated constant PLATFORM_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. Includes set_test_provider and get_test_provider functions for setup and retrieval.
  • crates/goose/src/agents/mod.rs: Added test modules private_tests and test_support for improved test coverage and organization.

@tlongwell-block tlongwell-block marked this pull request as ready for review June 16, 2025 14:56
@michaelneale
Copy link
Collaborator

michaelneale commented Jun 19, 2025

can you explain why agents need scheduler access, not quite following what this is about.

@tlongwell-block
Copy link
Collaborator Author

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.

@Kvadratni Kvadratni merged commit f0b627c into block:main Jun 19, 2025
6 checks passed
lifeizhou-ap added a commit that referenced this pull request Jun 20, 2025
* 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)
laanak08 added a commit that referenced this pull request Jun 24, 2025
# 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
s-soroosh pushed a commit to s-soroosh/goose that referenced this pull request Jul 18, 2025
cbruyndoncx pushed a commit to cbruyndoncx/goose that referenced this pull request Jul 20, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants