-
Notifications
You must be signed in to change notification settings - Fork 51
Closed
Description
Decouple Browser Session Tracking from backgroundTools
Description
Currently, the backgroundTools
tracker is used to track shell processes, browser sessions, and agents in a single implementation. This creates unnecessary coupling between these different types of tools. This issue proposes to refactor the browser session tracking into its own dedicated tracker.
Proposed Changes
- Create a new
BrowserTracker
class inpackages/agent/src/tools/browser/browserTracker.ts
that will be responsible for tracking browser sessions - Move browser-specific tracking logic from
backgroundTools.ts
to this new class - Implement a new
listBrowsers
tool that uses the dedicatedBrowserTracker
- Update
browseStart.ts
andbrowseMessage.ts
to use the new tracker instead ofbackgroundTools
- Remove browser-related code from
backgroundTools.ts
Technical Details
- The new
BrowserTracker
should work alongside the existingbrowserSessions
map to provide status tracking - It should provide methods for registering, updating, and retrieving browser sessions
- The
listBrowsers
tool should have similar filtering capabilities aslistBackgroundTools
but focused only on browser sessions - The implementation should maintain backward compatibility where possible
Benefits
- Reduced coupling between different tool types
- More focused and maintainable code
- Easier to extend or modify browser-specific functionality
- Clearer separation of concerns
Acceptance Criteria
-
BrowserTracker
class is implemented -
listBrowsers
tool is implemented -
browseStart
andbrowseMessage
are updated to use the new tracker - Browser-specific code is removed from
backgroundTools.ts
- All tests pass
- Documentation is updated
Metadata
Metadata
Assignees
Labels
No labels