refactor: reorganize components and update PromptComponent with priority attribute#8667
Conversation
|
Important Review skippedAuto incremental reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the WalkthroughThis update refactors component organization by removing the Changes
Sequence Diagram(s)sequenceDiagram
participant User
participant UI
participant Backend
participant PromptComponent
participant MCPToolsComponent
User->>UI: Selects component (Prompt or MCP Tools)
UI->>Backend: Requests component details
Backend->>PromptComponent: Accesses PromptComponent (now from processing)
Backend->>MCPToolsComponent: Accesses MCPToolsComponent (now from agents)
PromptComponent-->>Backend: Returns details (with priority attribute)
MCPToolsComponent-->>Backend: Returns details (with updated display name)
Backend-->>UI: Returns component info for sidebar/category display
Suggested labels
Suggested reviewers
✨ Finishing Touches🧪 Generate Unit Tests
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
Documentation and Community
|
There was a problem hiding this comment.
Actionable comments posted: 0
♻️ Duplicate comments (11)
src/backend/tests/unit/graph/graph/test_cycles.py (1)
8-8: Consistent import update for PromptComponent reorganization.The import change is consistent with the component reorganization moving
PromptComponentto theprocessingpackage.This follows the same pattern as the previous test file and should be verified together with the other import updates.
src/backend/base/langflow/initial_setup/starter_projects/Financial Agent.json (1)
4227-4227: Duplicate: priority attribute added to PromptComponent
Same insertion applied to the secondPromptComponentinstance for consistent ordering.src/backend/base/langflow/initial_setup/starter_projects/Sequential Tasks Agents.json (2)
1907-1973: Duplicate: ensure UI honors the newpriorityattribute.
2045-2107: Duplicate: ensure UI honors the newpriorityattribute.src/backend/base/langflow/initial_setup/starter_projects/Research Agent.json (3)
808-808: Duplicate: priority attribute added
Samepriority = 0adjustment applied to the secondPromptComponentinstance.
1698-1698: Duplicate: priority attribute added
Samepriority = 0adjustment applied to the thirdPromptComponentinstance.
1836-1836: Duplicate: priority attribute added
Samepriority = 0adjustment applied to the fourthPromptComponentinstance.src/backend/base/langflow/initial_setup/starter_projects/Instagram Copywriter.json (2)
937-937: Duplicate:priorityinsertion is consistent
This mirrors the change at line 654 and is applied correctly.
2087-2087: Duplicate:priorityinsertion is consistent
This mirrors the change at line 654 and is applied correctly.src/backend/base/langflow/initial_setup/starter_projects/Text Sentiment Analysis.json (2)
733-733: Duplicate:priorityattribute addition.
Same insertion ofpriority = 0in a secondPromptComponentsnippet. Ensure consistency and that all instantiated components honor this new field.
879-879: Duplicate:priorityattribute addition.
Third occurrence of addingpriority = 0. Verify that every starter flow’s prompt ordering respects the new default priority.
🧹 Nitpick comments (1)
src/backend/base/langflow/initial_setup/starter_projects/Blog Writer.json (1)
216-216: Confirm correct priority usage
The newpriority = 0line correctly ensures this component appears first in ordering. Please verify this aligns with your component registry logic. For consistency with other class attributes, consider adding a type hint—e.g.,priority: int = 0.
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (47)
src/backend/base/langflow/components/agents/__init__.py(1 hunks)src/backend/base/langflow/components/agents/mcp_component.py(1 hunks)src/backend/base/langflow/components/data/__init__.py(0 hunks)src/backend/base/langflow/components/processing/__init__.py(2 hunks)src/backend/base/langflow/components/processing/lambda_filter.py(1 hunks)src/backend/base/langflow/components/processing/prompt.py(1 hunks)src/backend/base/langflow/components/prompts/__init__.py(0 hunks)src/backend/base/langflow/initial_setup/starter_projects/Basic Prompt Chaining.json(10 hunks)src/backend/base/langflow/initial_setup/starter_projects/Basic Prompting.json(3 hunks)src/backend/base/langflow/initial_setup/starter_projects/Blog Writer.json(1 hunks)src/backend/base/langflow/initial_setup/starter_projects/Custom Component Maker.json(1 hunks)src/backend/base/langflow/initial_setup/starter_projects/Diet Analysis.json(4 hunks)src/backend/base/langflow/initial_setup/starter_projects/Document Q&A.json(6 hunks)src/backend/base/langflow/initial_setup/starter_projects/Financial Agent.json(2 hunks)src/backend/base/langflow/initial_setup/starter_projects/Image Sentiment Analysis.json(1 hunks)src/backend/base/langflow/initial_setup/starter_projects/Instagram Copywriter.json(3 hunks)src/backend/base/langflow/initial_setup/starter_projects/Invoice Summarizer.json(1 hunks)src/backend/base/langflow/initial_setup/starter_projects/Meeting Summary.json(2 hunks)src/backend/base/langflow/initial_setup/starter_projects/Memory Chatbot.json(1 hunks)src/backend/base/langflow/initial_setup/starter_projects/Research Agent.json(4 hunks)src/backend/base/langflow/initial_setup/starter_projects/SEO Keyword Generator.json(5 hunks)src/backend/base/langflow/initial_setup/starter_projects/SaaS Pricing.json(1 hunks)src/backend/base/langflow/initial_setup/starter_projects/Sequential Tasks Agents.json(3 hunks)src/backend/base/langflow/initial_setup/starter_projects/Text Sentiment Analysis.json(3 hunks)src/backend/base/langflow/initial_setup/starter_projects/Twitter Thread Generator.json(1 hunks)src/backend/base/langflow/initial_setup/starter_projects/Vector Store RAG.json(1 hunks)src/backend/base/langflow/initial_setup/starter_projects/Youtube Analysis.json(1 hunks)src/backend/base/langflow/initial_setup/starter_projects/basic_prompting.py(1 hunks)src/backend/base/langflow/initial_setup/starter_projects/blog_writer.py(1 hunks)src/backend/base/langflow/initial_setup/starter_projects/complex_agent.py(1 hunks)src/backend/base/langflow/initial_setup/starter_projects/document_qa.py(1 hunks)src/backend/base/langflow/initial_setup/starter_projects/hierarchical_tasks_agent.py(1 hunks)src/backend/base/langflow/initial_setup/starter_projects/memory_chatbot.py(1 hunks)src/backend/base/langflow/initial_setup/starter_projects/sequential_tasks_agent.py(1 hunks)src/backend/base/langflow/initial_setup/starter_projects/vector_store_rag.py(1 hunks)src/backend/tests/integration/components/mcp/test_mcp_component.py(1 hunks)src/backend/tests/integration/components/output_parsers/test_output_parser.py(1 hunks)src/backend/tests/integration/components/prompts/test_prompt.py(1 hunks)src/backend/tests/integration/flows/test_basic_prompting.py(1 hunks)src/backend/tests/unit/components/data/test_mcp_component.py(1 hunks)src/backend/tests/unit/components/prompts/test_prompt_component.py(1 hunks)src/backend/tests/unit/graph/edge/test_edge_base.py(1 hunks)src/backend/tests/unit/graph/graph/test_cycles.py(1 hunks)src/backend/tests/unit/graph/graph/test_graph_state_model.py(1 hunks)src/backend/tests/unit/initial_setup/starter_projects/test_memory_chatbot.py(1 hunks)src/backend/tests/unit/initial_setup/starter_projects/test_vector_store_rag.py(1 hunks)src/frontend/src/utils/styleUtils.ts(1 hunks)
💤 Files with no reviewable changes (2)
- src/backend/base/langflow/components/data/init.py
- src/backend/base/langflow/components/prompts/init.py
🧰 Additional context used
🪛 Pylint (3.3.7)
src/backend/tests/unit/components/prompts/test_prompt_component.py
[error] 2-2: No name 'components' in module 'langflow'
(E0611)
src/backend/tests/integration/flows/test_basic_prompting.py
[error] 2-2: No name 'components' in module 'langflow'
(E0611)
src/backend/tests/integration/components/prompts/test_prompt.py
[error] 1-1: No name 'components' in module 'langflow'
(E0611)
src/backend/tests/integration/components/output_parsers/test_output_parser.py
[error] 6-6: No name 'components' in module 'langflow'
(E0611)
src/backend/tests/unit/graph/edge/test_edge_base.py
[error] 6-6: No name 'components' in module 'langflow'
(E0611)
src/backend/tests/unit/graph/graph/test_graph_state_model.py
[error] 7-7: No name 'components' in module 'langflow'
(E0611)
src/backend/tests/integration/components/mcp/test_mcp_component.py
[error] 9-9: No name 'components' in module 'langflow'
(E0611)
src/backend/tests/unit/initial_setup/starter_projects/test_memory_chatbot.py
[error] 9-9: No name 'components' in module 'langflow'
(E0611)
src/backend/tests/unit/graph/graph/test_cycles.py
[error] 8-8: No name 'components' in module 'langflow'
(E0611)
src/backend/tests/unit/components/data/test_mcp_component.py
[error] 5-5: No name 'components' in module 'langflow'
(E0611)
src/backend/tests/unit/initial_setup/starter_projects/test_vector_store_rag.py
[error] 10-10: No name 'components' in module 'langflow'
(E0611)
🔇 Additional comments (72)
src/backend/base/langflow/components/processing/prompt.py (1)
14-15: Verify naming and ordering integration
Changingnameto"Prompt Template"whiledisplay_nameremains"Prompt"may affect serialization, registry lookups, or UI mappings. Also confirm that the newpriority = 0is handled by the component sorting logic and that other components have sensible default priorities.src/backend/base/langflow/initial_setup/starter_projects/hierarchical_tasks_agent.py (1)
6-6: Import path updated
Nice work updating the import forPromptComponentto the newlangflow.components.processinglocation.src/backend/tests/integration/components/output_parsers/test_output_parser.py (1)
6-6: Import path updated
Confirmed the test now importsPromptComponentfromlangflow.components.processing.src/backend/tests/integration/flows/test_basic_prompting.py (1)
2-2: Import path updated
ThePromptComponentimport has been correctly redirected to the processing package.src/backend/base/langflow/initial_setup/starter_projects/sequential_tasks_agent.py (1)
5-5: Import path updated
Updated the import forPromptComponentto reflect its new package.src/backend/base/langflow/initial_setup/starter_projects/complex_agent.py (1)
6-6: Import path update: ImportingPromptComponentfromlangflow.components.processingcorrectly reflects the refactoring. The package’sprocessing/__init__.pynow re-exportsPromptComponent, so no further changes are needed here.src/backend/tests/unit/graph/edge/test_edge_base.py (1)
6-6: Import path update in unit test: The test now importsPromptComponentfromlangflow.components.processing, matching the new module layout. This aligns with the refactoring and requires no additional adjustments.src/backend/base/langflow/initial_setup/starter_projects/basic_prompting.py (1)
3-3: Import path update: Switching thePromptComponentimport tolangflow.components.processingcorrectly mirrors the removal of the oldpromptspackage.src/backend/tests/integration/components/prompts/test_prompt.py (1)
1-1: Import path update in integration test: The integration test import ofPromptComponentfromlangflow.components.processingis consistent with the upstream refactoring.src/backend/tests/unit/components/prompts/test_prompt_component.py (1)
2-2: Import path update in unit test: ImportingPromptComponentfromlangflow.components.processingnow matches the updated public API and requires no further edits.src/backend/tests/unit/graph/graph/test_graph_state_model.py (1)
7-7: ```shell
#!/bin/bashCheck if PromptComponent is exported in the processing package init.py
grep -n "PromptComponent" src/backend/base/langflow/components/processing/init.py || echo "No direct export found"
echo "----- init.py content -----"
sed -n '1,200p' src/backend/base/langflow/components/processing/init.py</details> <details> <summary>src/backend/tests/integration/components/mcp/test_mcp_component.py (1)</summary> `9-9`: ```shell #!/bin/bash set -e # List all package __init__.py files under langflow echo "=== __init__.py files in langflow package ===" find src/backend/base/langflow -type f -name "__init__.py" # Show the beginning of the agents package __init__.py if [ -f src/backend/base/langflow/components/agents/__init__.py ]; then echo -e "\n=== src/backend/base/langflow/components/agents/__init__.py ===" sed -n '1,200p' src/backend/base/langflow/components/agents/__init__.py else echo -e "\nNo agents/__init__.py found." fi # Show the MCPToolsComponent definition if [ -f src/backend/base/langflow/components/agents/mcp_component.py ]; then echo -e "\n=== src/backend/base/langflow/components/agents/mcp_component.py ===" sed -n '1,200p' src/backend/base/langflow/components/agents/mcp_component.py else echo -e "\nNo mcp_component.py found in agents package." fisrc/backend/base/langflow/initial_setup/starter_projects/blog_writer.py (1)
6-6: Clean import consolidation for processing components.Consolidating the imports of
ParserComponentandPromptComponentfrom the sameprocessingpackage into a single import statement is cleaner and follows Python best practices.src/backend/base/langflow/initial_setup/starter_projects/memory_chatbot.py (1)
4-4: Consistent PromptComponent import update.The import change is consistent with the component reorganization pattern seen across all the reviewed files.
src/backend/tests/unit/initial_setup/starter_projects/test_memory_chatbot.py (1)
9-9: Import path updated correctly.The import path change from
langflow.components.promptstolangflow.components.processingaligns with the component reorganization described in the PR summary.src/backend/base/langflow/components/processing/lambda_filter.py (1)
19-19: Improved icon semantic alignment.The icon change from "test-tube-diagonal" to "square-function" better represents the component's function-related functionality.
src/backend/base/langflow/components/agents/mcp_component.py (1)
77-77: Display name improved for clarity.The change from "MCP Connection" to "MCP Tools" better describes the component's functionality of providing access to MCP tools.
src/backend/tests/unit/components/data/test_mcp_component.py (1)
5-5: Import path updated for component relocation.The import path correctly reflects the
MCPToolsComponentrelocation from thedatapackage to the more appropriateagentspackage.src/backend/base/langflow/initial_setup/starter_projects/vector_store_rag.py (1)
7-7: Import consolidation improves organization.Consolidating the imports of
ParserComponentandPromptComponentfrom the sameprocessingpackage reduces import lines and improves code organization.src/backend/base/langflow/initial_setup/starter_projects/document_qa.py (1)
4-4: Consolidate imports into new processing namespace.The
PromptComponentimport has been merged into the existingprocessingimport, reflecting the package refactor. Ensure no remaining imports referencelangflow.components.prompts.src/backend/base/langflow/components/processing/__init__.py (2)
17-17: Expose PromptComponent in processing package.Adding
PromptComponentimport here makes it available underlangflow.components.processing, aligning with the removal of the oldpromptspackage.
42-42: Export PromptComponent via all.Including
"PromptComponent"in__all__ensures it’s part of the public API for the processing components module.src/backend/base/langflow/initial_setup/starter_projects/Invoice Summarizer.json (1)
216-216: Embed new priority attribute in PromptComponent code.The inserted
priority = 0line in the code snippet will influence component ordering in the starter project. This update keeps the JSON embedding consistent with the updated component definition.src/backend/base/langflow/initial_setup/starter_projects/Vector Store RAG.json (2)
649-649: Priority attribute addition looks correct.
Addingpriority = 0will ensurePromptComponentsurfaces first in the UI ordering, matching the PR’s objective.
649-652: Let’s verify whereprocess_prompt_templateis defined and how it’s currently imported in the repo:#!/bin/bash # Locate the definition of process_prompt_template rg --color=never -n "def process_prompt_template" -n # Find all import occurrences to confirm the correct module path rg --color=never -n "process_prompt_template" -nsrc/backend/base/langflow/initial_setup/starter_projects/Blog Writer.json (1)
214-218: Inconsistent name attribute vs. refactoring summary
The embedded snippet still usesdisplay_name = "Prompt"andname = "Prompt", but per the upstream refactor, this component should now be named "Prompt Template". Update both attributes here to match the new naming.Likely an incorrect or invalid review comment.
src/backend/base/langflow/initial_setup/starter_projects/Image Sentiment Analysis.json (1)
883-884: Addpriorityattribute toPromptComponent
Thepriority = 0line correctly sets the component ordering so prompts appear first. This matches the core refactor ofPromptComponentand ensures consistency across starter projects.src/backend/tests/unit/initial_setup/starter_projects/test_vector_store_rag.py (1)
9-11: Update import path forPromptComponent
Consolidating the import intolangflow.components.processingreflects the relocation ofPromptComponent. Tests now align with the new module structure.src/backend/base/langflow/initial_setup/starter_projects/SaaS Pricing.json (1)
155-164: Confirm priority attribute insertion
You’ve correctly addedpriority = 0to thePromptComponentclass in this starter-project code snippet. Please verify that this matches the updatedPromptComponentinprocessing/prompt.pyand that the front-end respects the new priority ordering.src/backend/base/langflow/initial_setup/starter_projects/Youtube Analysis.json (1)
1954-1954: To confirm the current definitions and usage ofprocess_prompt_templateandPromptComponent, let’s gather all references:#!/bin/bash # 1. All references to process_prompt_template rg -n "process_prompt_template" . # 2. All references to update_template_values rg -n "update_template_values" . # 3. All definitions of PromptComponent rg -n "class PromptComponent" .src/backend/base/langflow/initial_setup/starter_projects/Twitter Thread Generator.json (1)
1758-1758: Add priority attribute to PromptComponent
Includingpriority = 0ensures the Prompt node appears first in starter flows. Verify this aligns with the backendPromptComponentimplementation and that all other starter-project JSON files include the same change.src/backend/base/langflow/components/agents/__init__.py (2)
2-2: Verify import of MCPToolsComponent
ImportingMCPToolsComponentfrom.mcp_componentmatches its new location underagents. Ensure no residual references exist in the olddatapackage.
4-4: Update all export list
Adding"MCPToolsComponent"makes the component publicly available via the agents package API. Confirm documentation and tests reflect this export.src/backend/base/langflow/initial_setup/starter_projects/Financial Agent.json (1)
4055-4055: Add priority attribute to PromptComponent definition in starter JSON
The insertion ofpriority = 0in the embedded code snippet ensures this component is ordered first in the playground, aligning with the PR objective.src/backend/base/langflow/initial_setup/starter_projects/Memory Chatbot.json (1)
1210-1215: Confirm import path forprocess_prompt_templateafter refactorThe
PromptComponentcode embedded here still imports fromlangflow.base.prompts.api_utils. Since thepromptspackage was removed and components moved underprocessing, please verify this reference is accurate or adjust it to the new location (e.g.langflow.base.processing.api_utils).src/backend/base/langflow/initial_setup/starter_projects/Custom Component Maker.json (2)
723-731: Priority attribute added correctly
Thepriority = 0field is set to ensure this component appears first. This aligns with the pattern in other starter projects and should work as intended.
714-722: ```shell
#!/bin/bash
set -eecho "Finding process_prompt_template definitions:"
rg -n "def process_prompt_template" -S .echo
echo "Locating all api_utils.py files:"
fd api_utils.pyecho
echo "Locating processing/api_utils.py if present:"
fd processing/api_utils.pyecho
echo "Finding PromptInput class definitions:"
rg -n "class PromptInput" -S .echo
echo "Finding DefaultPromptField class definitions:"
rg -n "class DefaultPromptField" -S .</details> <details> <summary>src/backend/base/langflow/initial_setup/starter_projects/Sequential Tasks Agents.json (1)</summary> `1722-1783`: **Validate that the new `priority` field is honored by the UI renderer.** You’ve added `priority = 0` to the PromptComponent in this starter project to push it to the top. Please confirm that the frontend logic reads and sorts nodes by this `priority` attribute (including zero‐based priorities) so this change actually affects display order. </details> <details> <summary>src/backend/base/langflow/initial_setup/starter_projects/Research Agent.json (1)</summary> `355-355`: **Add explicit priority attribute to PromptComponent** The `priority = 0` line ensures this prompt component is displayed first in the UI, standardizing ordering across all starter projects. </details> <details> <summary>src/backend/base/langflow/initial_setup/starter_projects/Instagram Copywriter.json (1)</summary> `654-654`: **Add `priority` attribute to prompt component** The new `priority = 0` line is correctly inserted in the `PromptComponent` definition to enforce ordering. </details> <details> <summary>src/backend/base/langflow/initial_setup/starter_projects/Meeting Summary.json (2)</summary> `1087-1087`: **Add `priority` attribute to PromptComponent (first instance)** The embedded `PromptComponent` now includes `priority = 0`, ensuring it appears first in the UI and matching the pattern used in other starter projects. --- `2536-2536`: **Add `priority` attribute to PromptComponent (second instance)** The second occurrence of `PromptComponent` also has `priority = 0` added for consistent component ordering across this flow. </details> <details> <summary>src/backend/base/langflow/initial_setup/starter_projects/Text Sentiment Analysis.json (1)</summary> `585-585`: **Add `priority` attribute to PromptComponent.** Including `priority = 0` in the embedded `PromptComponent` ensures this node is surfaced first in flows. Confirm that the front-end ordering logic reads and applies this attribute correctly. </details> <details> <summary>src/backend/base/langflow/initial_setup/starter_projects/Document Q&A.json (6)</summary> `415-416`: **Standardize JSON key ordering for ChatInput node** Reordered `selected_output` before `type` to align with other node entries. This is a purely cosmetic change; JSON key order does not affect behavior. --- `1033-1034`: **Standardize JSON key ordering for File node** Moved `selected_output` ahead of `type` for consistency across node definitions. No functional impact. --- `1147-1147`: **Add `priority` attribute to PromptComponent** Introduced `priority = 0` to ensure the Prompt component surfaces first in the UI. Verify that the component‐ordering logic consumes this new field as intended. --- `1191-1192`: **Standardize JSON key ordering for Prompt node** Swapped `selected_output` and `type` keys to match the established pattern in other nodes. No runtime change. --- `1586-1588`: **Standardize JSON key ordering for OpenAIModel node** Reordered `selected_output` before `type` for uniformity. This update is cosmetic only. --- `1761-1763`: **Standardize JSON key ordering for Parser node** Adjusted the order of `selected_output` and `type` to remain consistent across node definitions. </details> <details> <summary>src/backend/base/langflow/initial_setup/starter_projects/Basic Prompting.json (3)</summary> `385-387`: **Consistent JSON key ordering** Reordered `"selected_output"` above `"type"` in the ChatInput node for structural consistency. No functional change. --- `469-469`: **Added `priority` attribute to PromptComponent** The embedded PromptComponent class now includes `priority = 0` to explicitly control its ordering. This aligns with other components in starter projects. --- `516-517`: **Consistent JSON key ordering** Reordered `"selected_output"` above `"type"` in the Prompt node for consistency with other nodes. </details> <details> <summary>src/backend/base/langflow/initial_setup/starter_projects/SEO Keyword Generator.json (4)</summary> `161-161`: **Added `priority` attribute to PromptComponent** The PromptComponent class in the SEO Keyword Generator now declares `priority = 0` to standardize its position among other components. --- `344-345`: **Consistent JSON key ordering** Moved `"selected_output"` above `"type"` in the first Prompt node to align with JSON structure conventions. --- `463-463`: **Added `priority` attribute to PromptComponent** Second PromptComponent class now includes `priority = 0` for uniform component ordering across projects. --- `509-510`: **Consistent JSON key ordering** Reordered `"selected_output"` above `"type"` in the second Prompt node for consistency. </details> <details> <summary>src/frontend/src/utils/styleUtils.ts (2)</summary> `208-208`: **Improved clarity in display name.** The change from "I/O" to "Input / Output" provides better clarity for users who may not be familiar with the "I/O" abbreviation. --- `209-219`: **Well-organized sidebar category restructuring.** The reorganization follows a logical hierarchy: 1. Core components (Saved, Input/Output) remain at the top 2. Advanced functionality (Agents, Vector Stores, Logic, Helpers) is grouped together 3. Basic I/O components (Inputs, Outputs, Prompts) are positioned after the advanced categories This structure aligns with the backend component reorganization mentioned in the AI summary and improves user experience by grouping related functionality. </details> <details> <summary>src/backend/base/langflow/initial_setup/starter_projects/Diet Analysis.json (4)</summary> `386-388`: **Proper JSON structure for node configuration.** The addition of the `"selected_output"` field as a standalone key alongside `"type"` and `"showNode"` ensures proper node configuration structure in the ChatInput component. --- `471-471`: **Component priority standardization.** The addition of `priority = 0` to the PromptComponent class aligns with the component reorganization described in the AI summary. This ensures consistent ordering across starter projects without affecting the component's functionality. --- `517-519`: **Consistent node configuration structure.** Similar to the ChatInput component, adding the `"selected_output"` field ensures proper JSON structure for the Prompt node configuration. --- `893-895`: **Completed node configuration standardization.** The addition of `"selected_output"` field to the NovitaModel node completes the structural consistency across all nodes in this starter project. </details> <details> <summary>src/backend/base/langflow/initial_setup/starter_projects/Basic Prompt Chaining.json (10)</summary> `259-259`: **Add `priority` attribute to PromptComponent code string** The embedded PromptComponent definition now includes `priority = 0`, which correctly enforces its display order. --- `304-305`: **Include `selected_output` and `type` for Prompt-4IOgm node** Defining `"selected_output": "prompt"` and `"type": "Prompt"` ensures the correct default output and component type are wired in the flow. --- `602-603`: **Set `selected_output` and `type` for ChatInput-GyBUF node** Adding `"selected_output": "message"` and `"type": "ChatInput"` aligns this node’s metadata with its outputs. --- `990-990`: **Add `priority` attribute to PromptComponent code string (Prompt-FRjO8)** The code string for Prompt-FRjO8 now includes `priority = 0`, matching the intended ordering behavior. --- `1035-1036`: **Include `selected_output` and `type` for Prompt-FRjO8 node** Specifying `"selected_output": "prompt"` and `"type": "Prompt"` ensures the correct wiring in the chaining sequence. --- `1119-1119`: **Add `priority` attribute to PromptComponent code string (Prompt-f1f2v)** The code string for Prompt-f1f2v now includes `priority = 0`, consistently prioritizing all Prompt components. --- `1164-1165`: **Include `selected_output` and `type` for Prompt-f1f2v node** Defining `"selected_output": "prompt"` and `"type": "Prompt"` keeps this node’s output configuration consistent. --- `1633-1635`: **Add `selected_output` and `type` for OpenAIModel-lL9HA node** Setting `"selected_output": "text_output"` and `"type": "OpenAIModel"` establishes the correct default output and node type. --- `2023-2025`: **Add `selected_output` and `type` for OpenAIModel-JieGw node** Defining `"selected_output": "text_output"` and `"type": "OpenAIModel"` ensures this model node is configured correctly in the flow. --- `2413-2415`: **Add `selected_output` and `type` for OpenAIModel-dXMRv node** Specifying `"selected_output": "text_output"` and `"type": "OpenAIModel"` aligns the node’s metadata with its outputs. </details> </blockquote></details> </details> <!-- This is an auto-generated comment by CodeRabbit for review status -->
…w into fix-sidebar-refactor
…w into fix-sidebar-refactor
Summary by CodeRabbit
New Features
Enhancements
Bug Fixes
Chores