-
由 Will Chen 提交于
<!-- CURSOR_SUMMARY --> > [!NOTE] > Introduces website crawling for cloning workflows and updates tool I/O to support multimodal follow-ups while keeping tool results text-only for model compatibility. > > - Adds `web_crawl` tool (consent preview, XML marker, Dyad Engine call requiring Dyad Pro API key) that returns HTML/markdown/screenshot and appends cloning instructions plus screenshot and content snippets via `appendUserMessage` > - Updates tool system: new `ToolResult` types, `UserMessageContentPart`, and conversion to AI SDK V3 (`convertToolResultForAiSdk`); tool `execute` now returns `ToolResult` > - Enhances streaming: handler tracks `pendingUserMessages` and injects them between steps via `prepareStep` to deliver images/content to the model > - Registers `web_crawl` in `TOOL_DEFINITIONS`; e2e snapshot updated to include the new tool > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 0205e38c2f067a1c2307b17a1397e4dcf3ce422d. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY --> <!-- This is an auto-generated description by cubic. --> --- ## Summary by cubic Adds a web_crawl agent tool to crawl a URL and return page content and a screenshot for cloning. Tool results are structured text, and the screenshot is injected as a follow-up user image for multimodal models. - New Features - Added web_crawl tool with consent preview and XML marker; calls Dyad Engine /tools/web-crawl. - Returns markdown and HTML plus a screenshot URL, with clear placeholder image instructions for replication. - Introduced ToolResult (text-only) and convertToolResultForAiSdk to LanguageModelV3; updated tool execution to use it. - Added appendUserMessage and step injection to include images after tool results. - Registered the tool in TOOL_DEFINITIONS with default consent set to ask; requires a Dyad Pro API key in settings. <sup>Written for commit 0205e38c2f067a1c2307b17a1397e4dcf3ce422d. Summary will update on new commits.</sup> <!-- End of auto-generated description by cubic. -->