Add auto-generated descriptions for all node types#313
Merged
Edwardvaneechoud merged 4 commits intomainfrom Feb 6, 2026
Merged
Add auto-generated descriptions for all node types#313Edwardvaneechoud merged 4 commits intomainfrom
Edwardvaneechoud merged 4 commits intomainfrom
Conversation
Add get_default_description() method to NodeBase and all subclasses that
generates human-readable descriptions from node configuration content.
When a user hasn't set a custom description, the auto-generated one is
used as a fallback in flow_node.py.
Each node type produces a contextual description, for example:
- Filter: "age > 30" or "status = active"
- Join: "inner join on id = user_id"
- Formula: "total = col('price') * col('quantity')"
- GroupBy: "By category: sum(amount), count(id)"
- Read: "users.csv (csv)"
- Sort: "Sort by name asc, date desc"
https://claude.ai/code/session_01KbLSxbk1ki1NEAhHnwZ9jm
✅ Deploy Preview for flowfile-wasm canceled.
|
|
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
The GET /node/description endpoint was returning setting_input.description directly, which is always empty unless the user explicitly sets one. Now it falls back to get_default_description() when no user description is set, matching the logic already in set_node_information(). https://claude.ai/code/session_01KbLSxbk1ki1NEAhHnwZ9jm
The description endpoint now returns {description, is_auto_generated}
so the frontend knows whether to refresh after settings updates.
Backend:
- Add NodeDescriptionResponse model with is_auto_generated flag
- Update GET /node/description to return structured response
Frontend:
- Update NodeDescriptionEntry type to include is_auto_generated
- Add separate NodeReferenceDictionary type for node references
- After any settings update (updateSettingsDirectly, updateSettings,
updateUserDefinedSettings), auto-refresh descriptions that were
system-generated while leaving user-provided ones untouched
- Add refreshAutoGeneratedDescription() store action
- Update results.vue to read from the new entry structure
https://claude.ai/code/session_01KbLSxbk1ki1NEAhHnwZ9jm
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.
Summary
This PR adds automatic description generation for all node schema classes by implementing a
get_default_description()method. These descriptions provide human-readable summaries of node configurations and are used as fallbacks when users haven't provided custom descriptions.Key Changes
Base method in NodeBase: Added
get_default_description()to the base class that returns an empty string by default, allowing subclasses to override with meaningful descriptions.Node-specific implementations: Implemented
get_default_description()for 25+ node types:Smart truncation: Long expressions (filters, formulas, queries) are truncated to 60-80 characters with "..." suffix for readability.
Contextual formatting: Each node type generates descriptions appropriate to its function:
Flow node integration: Updated
FlowNode.set_node_information()to use the new method as a fallback when user-provided descriptions are empty.Comprehensive test suite: Added 635 lines of tests covering all node types with various configurations, ensuring descriptions are accurate and handle edge cases.
Implementation Details