From 8c1df62875054e04fe49b0783a545a91a7fede80 Mon Sep 17 00:00:00 2001 From: Adeniji Adekunle James Date: Tue, 4 Nov 2025 01:09:54 +0000 Subject: [PATCH] Support web crawl for website replication (PRO) (#1683) ## Summary by cubic Added support for the dyad-web-crawl tag to render a Web Crawl UI in chat, enabling website replication flows. Messages with now show a styled card with crawl details. - **New Features** - Added DyadWebCrawl component with label and updated icon. - Updated DyadMarkdownParser to parse and render dyad-web-crawl. Written for commit 45903364b5d6cbdcfc5c3a37579e9eda05e01db3. Summary will update automatically on new commits. --- src/components/chat/DyadMarkdownParser.tsx | 13 +++++++++++ src/components/chat/DyadWebCrawl.tsx | 27 ++++++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 src/components/chat/DyadWebCrawl.tsx diff --git a/src/components/chat/DyadMarkdownParser.tsx b/src/components/chat/DyadMarkdownParser.tsx index d41d91b..c892a47 100644 --- a/src/components/chat/DyadMarkdownParser.tsx +++ b/src/components/chat/DyadMarkdownParser.tsx @@ -22,6 +22,7 @@ import { DyadMcpToolCall } from "./DyadMcpToolCall"; import { DyadMcpToolResult } from "./DyadMcpToolResult"; import { DyadWebSearchResult } from "./DyadWebSearchResult"; import { DyadWebSearch } from "./DyadWebSearch"; +import { DyadWebCrawl } from "./DyadWebCrawl"; import { DyadRead } from "./DyadRead"; import { mapActionToButton } from "./ChatInput"; import { SuggestedAction } from "@/lib/schemas"; @@ -134,6 +135,7 @@ function preprocessUnclosedTags(content: string): { "dyad-codebase-context", "dyad-web-search-result", "dyad-web-search", + "dyad-web-crawl", "dyad-read", "think", "dyad-command", @@ -207,6 +209,7 @@ function parseCustomTags(content: string): ContentPiece[] { "dyad-codebase-context", "dyad-web-search-result", "dyad-web-search", + "dyad-web-crawl", "dyad-read", "think", "dyad-command", @@ -319,6 +322,16 @@ function renderCustomTag( {content} ); + case "dyad-web-crawl": + return ( + + {content} + + ); case "dyad-web-search-result": return ( = ({ + children, + node: _node, +}) => { + return ( +
+
+
+ +
Web Crawl
+
+
+
+ {children} +
+
+ ); +};