feat: implement visual agent builder with node-based interface #1080
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.
🎨 Visual Agent Builder - MVP Implementation
Closes #916
📝 Summary
Implements a visual node-based interface for creating and configuring agents with drag-and-drop functionality, real-time validation, and seamless integration with the existing form-based builder.
✨ What's Implemented
Core Components
Node Types (MVP - 5 nodes)
Property Editors
BasicInfoPropertyEditor- Name, namespace, type, descriptionLLMPropertyEditor- Model selection with namespace filteringSystemPromptPropertyEditor- System prompt textareaToolPropertyEditor- Tool selection dialog integrationOutputPropertyEditor- Format and template configurationUtility Libraries
🎯 Key Features
✅ Drag-and-drop node creation from library
✅ Connect nodes with edges to define workflow
✅ Real-time validation with collapsible error/warning panels
✅ Delete functionality via Delete/Backspace keys or floating button
✅ Multi-select support for batch operations
✅ Default template graph (Basic Info → LLM → System Prompt → Output)
✅ Namespace-aware model filtering (only shows models from same namespace)
✅ Bidirectional sync - preserves data when switching between modes
✅ Mini-map and zoom controls for navigation
✅ Keyboard shortcuts for deletion
Scope: Declarative Agents Only
Technical Constraints
🔧 Technical Details
Dependencies Added
Integration Points
Page Integration (
ui/src/app/agents/new/page.tsx)Global Styles (
ui/src/app/globals.css).hide-footerclass for visual builder full-screen modeType Definitions (
ui/src/types/index.ts)MVP_NODE_TYPESconstant for feature gatingLayout (
ui/src/app/layout.tsx)flex flex-col h-screenfor proper visual builder layoutValidation System
State Management
🧪 Testing Recommendations
Known Edge Cases
📸 Screenshots
Add screenshots of:
Node library with all 5 node types
Connected graph with default template
🔄 Migration Notes
No breaking changes - Feature is opt-in:
📚 Documentation Updates Needed
🚀 Future Enhancements
See #916 for full roadmap. Next steps: