Skip to content

Conversation

EricGustin
Copy link
Member

@EricGustin EricGustin commented Jun 13, 2025

PR Description

Split toolkits

This PR splits the Microsoft, Google, and Search toolkits into multiple toolkits each.

  • Microsoft --> OutlookCalendar, OutlookMail.
  • Google -----> GoogleCalendar, GoogleContacts, GoogleDocs, GoogleDrive, Gmail, GoogleSheets
  • Search -----> GoogleFinance, GoogleFlights, GoogleHotels, GoogleJobs, GoogleMaps, GoogleNews, GoogleSearch, GoogleShopping, Walmart, Youtube

The original monolithic toolkits (Microsoft, Google, Search) are not removed in this PR. The plan is to keep those toolkits around while we

  1. Stop documenting the toolkits,
  2. Stop displaying the toolkits in the dashboard, and
  3. Help customers migrate over to the new split toolkits.

Rename toolkits

This PR renames the following toolkits

  • Web ------------> Firecrawl
  • CodeSandbox ---> E2B

The Web and CodeSandbox toolkits are not removed in this PR. The plan is to keep them around while we

  1. Stop documenting the toolkits,
  2. Stop displaying the toolkits in the dashboard, and
  3. Help customers migrate over to the new renamed toolkits.

Rename tools

Since toolkit names were changed, this called for some tools to be renamed as well.

  • GoogleSearch.SearchGoogle ----------------> GoogleSearch.Search
  • GoogleShopping.SearchShoppingProducts ---> GoogleShopping.SearchProducts
  • Walmart.SearchWalmartProducts ------------> Walmart.SearchProducts
  • Walmart.GetWalmartProductDetails ---------> Walmart.GetProductDetails
  • Youtube.SearchYoutubeVideos --------------> Youtube.SearchForVideos

Google File Picker

Improvements to the Google File Picker experience were also added in this PR.

The following tools will ALWAYS provide llm_instructions in their response to "let the end-user know that they have the option to select more files via the file picker url if they want to":

  • GoogleDocs.SearchDocuments
  • GoogleDocs.SearchAndRetrieveDocuments
  • GoogleDrive.GetFileTreeStructure

The following tools will only provide the file picker URL if a 404 or 403 from the Google API:

  • GoogleDocs.InsertTextAtEndOfDocument
  • GoogleDocs.GetDocumentById
  • GoogleSheets.GetSpreadsheet
  • GoogleSheets.WriteToCell

Also, a standalone GoogleDrive.GenerateGoogleFilePickerUrl tool exists.

Other

  • The SearchDocuments and SearchAndRetrieveDocuments tools used to be organized within the Drive portion of the Google toolkit, but I moved these into the new GoogleDocs toolkit because they are specific to Docs.

Progress

  • OutlookCalendar
  • OutlookMail
  • GoogleFinance
  • GoogleFlights
  • GoogleHotels
  • GoogleJobs
  • GoogleMaps
  • GoogleNews
  • GoogleSearch
  • GoogleShopping
  • Walmart
  • Youtube
  • GoogleCalendar
  • GoogleContacts
  • GoogleDocs
  • GoogleDrive
  • Gmail
  • GoogleSheets
  • Firecrawl
  • E2B
  • File picker

Discussion

  • Repeated code is a consequence of splitting toolkits that use the same provider. I am open to any ideas that would allow multiple toolkits to reference common code. Comment your ideas in this PR.

Copy link

codecov bot commented Jun 13, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

📢 Thoughts on this report? Let us know!

@EricGustin EricGustin changed the title Split various toolkits Split and rename various toolkits Jun 13, 2025
@EricGustin EricGustin changed the title Split and rename various toolkits Split and rename multiple toolkits Jun 17, 2025
@EricGustin EricGustin added type: refactor Code refactoring size: large toolkit: new For new toolkits labels Jun 17, 2025
@EricGustin EricGustin marked this pull request as ready for review July 3, 2025 23:55
@EricGustin EricGustin requested review from a team and Spartee July 3, 2025 23:57
Copy link
Collaborator

@torresmateo torresmateo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the PR is good, and passes all tests locally. I understand that substantial amounts of utilities are duplicated, which not ideal, but a new issue can be opened for that.

@EricGustin EricGustin merged commit 07c5210 into main Jul 9, 2025
48 checks passed
@EricGustin EricGustin deleted the ericgustin/split-toolkits branch July 17, 2025 17:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
size: large toolkit: new For new toolkits type: refactor Code refactoring
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants