feat(chat): add embedded display panel for A2UI, MCP Apps, Pulse App View, and Workflow Canvas#243
feat(chat): add embedded display panel for A2UI, MCP Apps, Pulse App View, and Workflow Canvas#243
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
…w Canvas tabs Agent-Logs-Url: https://github.com/ClayPulse/pulse-editor/sessions/6b21bf3a-3ac4-4b23-bfa1-fb513f5ec924 Co-authored-by: Shellishack <40737228+Shellishack@users.noreply.github.com>
|
fix build error @copilot |
… usage Agent-Logs-Url: https://github.com/ClayPulse/pulse-editor/sessions/c4eeb209-8b78-41e2-859f-07e031dd8909 Co-authored-by: Shellishack <40737228+Shellishack@users.noreply.github.com>
Fixed in commit
|
|
You only added placeholder for A2UI and MCP-apps. Implement the actual component for them |
…rs, loading states, and blocked-iframe fallback Agent-Logs-Url: https://github.com/ClayPulse/pulse-editor/sessions/40d93239-f074-4e0f-a73b-6d2f677ff8b3 Co-authored-by: Shellishack <40737228+Shellishack@users.noreply.github.com>
... Replaced the bare iframes with two full components in commit
Both use a |
- Updated Icon component to enforce either 'name' or 'uri' prop, not both. - Modified A2UIView to enhance layout and update feature descriptions. - Removed embed panel toggle buttons from ChatView for a cleaner interface. - Simplified MCPAppsView layout and updated feature descriptions. - Enhanced useDeepAgent hook to support workflow inputs and improved error handling. - Added new InlineWidget component to handle various widget types including A2UI, MCP results, Pulse Apps, and Canvas. - Updated package.json to include new dependencies for A2UI and Model Context Protocol SDK.
…et rendering improvements
…nd components - Updated localization files (de.json, en.json, es.json, fr.json, hi.json, ja.json, ko.json, pt.json, ru.json, zh.json) to reflect the new name "Palmos" instead of "Pulse Editor". - Added a new rebrand banner component to inform users of the name change, including a dismiss feature that utilizes local storage to remember user preference.
The chat component had no way to display external tools or internal views alongside the conversation. This adds a toggleable split-pane embed panel to the chat page with four display modes.
New files
web/components/chat/chat-embed-panel.tsx— Tabbed panel with four content slots wiring together the four view components below.web/components/views/chat/a2ui-view.tsx— Dedicated A2UI panel with a header (icon, title, description, open-in-browser link), animated loading spinner while the iframe loads, and a rich fallback card (feature bullets + CTA button) that automatically appears when the site blocks embedding via X-Frame-Options. Blocking is detected by checkingcontentDocumentaccessibility afteronLoad— aSecurityErrormeans the page loaded cross-origin (success); readablecontentDocumentmeans a same-origin error page was injected (blocked).web/components/views/chat/mcp-apps-view.tsx— Same structure as A2UIView for the MCP Apps directory (https://modelcontextprotocol.io/extensions/apps/overview), with MCP-specific feature bullets and quick-link buttons (Overview, Docs, GitHub) in the fallback.web/components/views/chat/pulse-app-view.tsx— Searchable grid of marketplace apps. Clicking a card opens the app in Editor mode viaEditorContext.Modified
web/components/views/chat/chat-view.tsx— Replaced the bareAIChatInterfacewrapper with a split-pane layout:w-2/5(md+) when a panel is open;flex-1otherwiseweb/package.json— Addedopenai ^6.24.0as an explicit direct dependency (it was only a transitive dep of@langchain/openai, not hoisted to top-levelnode_modulesin CI, causing a webpack build failure).Security
iframe sandboxes use
allow-scripts allow-forms allow-popups allow-popups-to-escape-sandbox—allow-same-originis intentionally omitted to keep the sandbox effective. Both A2UIView and MCPAppsView gracefully fall back to a rich landing page with external links when framing is blocked.Original prompt
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.