Files
..

AI Chat Browser Tools

Place subclasses of ai_chat::Tool here that require access to things in {chrome,brave}/browser.

Content Agent Tools

A set of tools whose purpose is to act on web content. These most often utilize the chromium actor framework to create a Task for a conversation, add 1 or more Tabs to that Task and perform actions against 1 of those Tabs.

These tools should be owned by the ContentAgentToolProvider which can own the shared state between these tools for a single conversation, and provide information about the current Task and available Tabs to all the related tools via ContentAgentTaskProvider.

Browser Tools

Standalone, single-shot tools that expose a piece of browser data or functionality to the assistant without participating in the actor Task lifecycle. They typically wrap a single keyed service (history, bookmarks, etc.) and return a structured JSON payload as their tool output. Examples: HistorySearchTool, CodeExecutionTool.

These tools should be owned by the BrowserToolProvider, which creates them per-conversation gated on whatever feature/per-profile checks the underlying capability requires.