Skip to content

Decouple Browser Session Tracking from backgroundTools #291

@bhouston

Description

@bhouston

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

  1. Create a new BrowserTracker class in packages/agent/src/tools/browser/browserTracker.ts that will be responsible for tracking browser sessions
  2. Move browser-specific tracking logic from backgroundTools.ts to this new class
  3. Implement a new listBrowsers tool that uses the dedicated BrowserTracker
  4. Update browseStart.ts and browseMessage.ts to use the new tracker instead of backgroundTools
  5. Remove browser-related code from backgroundTools.ts

Technical Details

  • The new BrowserTracker should work alongside the existing browserSessions map to provide status tracking
  • It should provide methods for registering, updating, and retrieving browser sessions
  • The listBrowsers tool should have similar filtering capabilities as listBackgroundTools 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 and browseMessage are updated to use the new tracker
  • Browser-specific code is removed from backgroundTools.ts
  • All tests pass
  • Documentation is updated

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions