feat(workflow): Plugin Trigger Node with Unified Entry Node System#24205
feat(workflow): Plugin Trigger Node with Unified Entry Node System#24205crazywoola merged 13 commits intolanggenius:feat/triggerfrom
Conversation
- Extend BlockIcon to support TriggerPlugin type with dynamic icons - Add useToolIcon hook support for trigger plugins - Enhance PluginTriggerNodeType with provider fields - Create TriggerPluginSelector component for Start Tab integration - Improve trigger plugin panel with status display - Add use-triggers service for future backend integration This implements the foundational architecture for plugin-based workflow triggers, following the existing tool/trigger node patterns while maximizing code reuse.
📝 Technical Analysis: Current Tools Integration PatternBased on codebase analysis, here's how the current tools system works and how we're leveraging it: Tools System ArchitectureThe existing tools system uses a unified abstraction layer design:
Our Integration StrategyWe're extending this pattern rather than reimplementing:
This approach ensures maximum code reuse while maintaining architectural consistency. |
📝 Technical Analysis: Tools System Integration & UI CompletionBased on comprehensive codebase analysis, here's the complete integration pattern and UI enhancements: Tools System Architecture IntegrationThe existing tools system uses a unified abstraction layer design that we've fully leveraged:
Complete UI/UX Integration Achieved
Backend Integration ReadinessThe implementation is 100% ready for backend integration. Only one change required: // In trigger-plugin-selector.tsx line 20:
// Current (temporary):
const { data: buildInTools = [] } = useAllBuiltInTools()
// Future (when backend ready):
const { data: triggerPlugins = [] } = useAllTriggerPlugins()This approach ensures maximum code reuse (5 commits, 0 duplicate implementations) while maintaining complete architectural consistency. |
…ls system - Create trigger-plugin/ directory with complete component hierarchy - Fix duplicate rendering issue by removing TriggerPluginSelector from start-blocks - Implement fold/unfold functionality matching tools behavior - Add search filtering and parameter initialization - Use BlockEnum.TriggerPlugin consistently across all components - Maintain independence from tools system while achieving feature parity
…cksTypes filter - Remove incorrect availableBlocksTypes filtering from StartBlocks component - Start tab should show all entry nodes, not filter by connection logic - Fix core issue preventing BlockEnum.Start from appearing in block selector - Add comment explaining why connection logic doesn't apply to entry point selection
- Use ENTRY_NODE_TYPES directly instead of filtering from availableBlocksTypes - Start tab should show all entry nodes, not depend on node connection logic - availableBlocksTypes from useAvailableBlocks(Start) excludes Start itself - Create proper separation between entry node display and connection logic
…rSchedule, TriggerWebhook, TriggerPlugin)
… start node' label and i18n support
|
Related Documentation No published documentation to review for changes on this repository. |
…figuration parameters
f396fa1 to
f235b5c
Compare
24e4fd7 to
f396fa1
Compare
Overview
This PR implements the Plugin Trigger Node frontend components as requested in #24196, providing the foundation for plugin-based workflow triggers with complete UI/UX integration and unified entry node system architecture.
Implementation Summary
Core Changes
Architecture Approach
This implementation follows a maximum code reuse strategy, leveraging the existing tool system architecture:
UI/UX Improvements
Entry Node System Enhancements (Latest Updates)
Current Status: ✅ Ready for Review
The plugin trigger architecture is functionally complete with full UI integration and enhanced entry node management:
useAllBuiltInTools()withuseAllTriggerPlugins()Files Changed (11 commits)
app/components/workflow/block-icon.tsx- Extended for TriggerPlugin support + fixed icon sizingapp/components/workflow/hooks/use-workflow.ts- Added TriggerPlugin icon supportapp/components/workflow/hooks/use-nodes-interactions.ts- NEW: Unified entry node deletion logicapp/components/workflow/nodes/trigger-plugin/- Enhanced node display and panelapp/components/workflow/block-selector/- Complete Start Tab redesign + entry node improvementsservice/use-triggers.ts- Service layer for trigger pluginsi18n/- EXPANDED: Added search + entry node translations (en/zh-Hans/ja-JP)Testing
Related to #24196, #24198