feat: v2 - ai assistant chat window#2327
Open
maxy-shpfy wants to merge 1 commit into
Open
Conversation
Collaborator
Author
This was referenced May 28, 2026
13d4bc7 to
8dfdf7a
Compare
🎩 PreviewA preview build has been created at: |
This was referenced May 28, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Description
Introduces the foundational scaffolding for an AI Assistant panel in the V2 editor, gated behind a new
ai-assistantfeature flag (disabled by default, categorized as beta).The panel opens as a floating window in the editor and provides a chat interface where users can ask questions about their pipeline. This PR establishes the core architecture:
AiChatStore(MobX observable) holds messages, thread ID, pending state, and thinking text outside the React tree so state survives window minimize/hide/unmount. ThesendMessageimplementation is currently a stub that echoes the user's prompt back — the real LLM integration is deferred to a follow-up PR.AiChatStoreProvider/useAiChatStoreexpose the store via React context, wrapping the editor session.AiChatContentcomposesChatMessageListandChatInputinto the panel body.ChatMessageListauto-scrolls to the latest message and renders an empty state when no messages exist.ChatInputsupportsEnterto submit andShift+Enterfor newlines.ThinkingMessagedisplays an animated spinner with status text while a response is pending.react-markdown+remark-gfmwith custom component overrides for headings, lists, tables, blockquotes, code blocks, and links.entity://andcomponent://) are resolved into interactiveEntityChipandComponentChipelements.EntityChipnavigates to the corresponding task/input/output node in the canvas.ComponentChipis draggable onto the canvas and opens aComponentDetailsDialogon click.useGatedAiChatWindowopens the window only when the feature flag is enabled and the window does not already exist.Related Issue and Pull requests
Type of Change
Checklist
Screenshots (if applicable)
AI Assistant - Echo and markdown for chat.mov (uploaded via Graphite)
Test Instructions
ai-assistantfeature flag in the beta flags settings panel.Enteror click the send button. The message should be echoed back as an assistant reply.Additional Comments
The
sendMessagemethod currently echoes the user prompt as the assistant response. The actual LLM/worker integration is intentionally left for a subsequent PR. ThethreadIdfield onAiChatStoreis reserved for that integration.For test you can use markdown: