Add tool for running ripgrep on package dependencies. (#338)
[RipGrep](https://github.com/BurntSushi/ripgrep) is very fast and commonly used tool, used by Gemini CLI and VsCode for example to power their workspace search functionality. Note that we could just use `grep` on Linux, but there isn't an obvious windows replacement, it is slower, and it would likely confuse the agent if we use platform specific tools as well as make it harder for us to handle the output of different tools (we want to replace output paths with package uris).
The approach here is to expose a pretty raw tool allowing for any arguments to be passed to ripgrep, the only ones we supply are two trailing arguments, the path separator to use for output ("/") and the path to search (the lib root of the package). This allows agents a lot of flexibility in how they use ripgrep (how many context lines to include etc).
If ripgrep is not available, we will use elicitation to ask for permission to install it, and download our own copy from Microsoft's repo (where Gemini CLI gets it from, a bit more trusted) if the install is approved. Otherwise, we will return an error asking the user to install ripgrep. Today, elicitation support is somewhat lacking, especially in Google products, but we hope to improve this in the future. This can also serve as a good use case for those products as to why we want elicitation support. Currently it is supported by Cursor, Codex, and Copilot among others.
In the output, we replace all occurrences of the package uri root with `package:<package-name>` as well.11 files changed