Skip to content

docs: link components to docs pages#8850

Merged
mendonk merged 5 commits into
mainfrom
docs-link-components
Jul 3, 2025
Merged

docs: link components to docs pages#8850
mendonk merged 5 commits into
mainfrom
docs-link-components

Conversation

@mendonk
Copy link
Copy Markdown
Collaborator

@mendonk mendonk commented Jul 3, 2025

Add documentation links to core component classes in the langflow backend, making it easier for developers to access relevant information about each component.

Supersedes #8766

Summary by CodeRabbit

  • New Features
    • Added direct documentation links to various components, making it easier for users to access relevant help and guidance from within the platform.

@mendonk mendonk requested a review from ogabrielluiz July 3, 2025 10:30
@mendonk mendonk self-assigned this Jul 3, 2025
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Jul 3, 2025

Important

Review skipped

Auto incremental reviews are disabled on this repository.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Walkthrough

This change introduces a new documentation class attribute to numerous component classes across the codebase. Each attribute is assigned a URL string pointing to the relevant documentation page for that component. No logic, control flow, or functional behavior is altered in any of the affected files.

Changes

File(s) Change Summary
.../components/agents/mcp_component.py Added documentation attribute to MCPToolsComponent
.../components/data/api_request.py
.../directory.py
.../file.py
.../news_search.py
.../rss.py
.../sql_executor.py
.../web_search.py
.../webhook.py
Added documentation attribute to data-related component classes
.../components/helpers/calculator_core.py
.../current_date.py
.../memory.py
Added documentation attribute to helper component classes
.../components/input_output/chat.py
.../chat_output.py
.../text.py
.../text_output.py
Added documentation attribute to input/output component classes
.../components/logic/conditional_router.py
.../loop.py
.../run_flow.py
Added documentation attribute to logic component classes
.../components/models/embedding_model.py
.../language_model.py
Added documentation attribute to model component classes
.../components/processing/batch_run.py
.../converter.py
.../data_operations.py
.../dataframe_operations.py
.../lambda_filter.py
.../llm_router.py
.../parser.py
.../prompt.py
.../python_repl_core.py
.../save_file.py
.../split_text.py
.../structured_output.py
Added documentation attribute to processing component classes

Sequence Diagram(s)

No sequence diagrams are generated since the changes are limited to adding static documentation attributes and do not affect control flow or interactions.

Possibly related PRs

Suggested labels

documentation, size:L, lgtm

✨ Finishing Touches
🧪 Generate Unit Tests
  • Create PR with Unit Tests
  • Post Copyable Unit Tests in a Comment
  • Commit Unit Tests in branch docs-link-components

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.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Support

Need 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)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai auto-generate unit tests to generate unit tests for this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@github-actions github-actions Bot added the documentation Improvements or additions to documentation label Jul 3, 2025
@dosubot dosubot Bot added the size:M This PR changes 30-99 lines, ignoring generated files. label Jul 3, 2025
@github-actions github-actions Bot added documentation Improvements or additions to documentation and removed documentation Improvements or additions to documentation labels Jul 3, 2025
@github-actions github-actions Bot added documentation Improvements or additions to documentation and removed documentation Improvements or additions to documentation labels Jul 3, 2025
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🔭 Outside diff range comments (2)
src/backend/base/langflow/components/processing/lambda_filter.py (2)

128-130: Regex too restrictive – will miss valid lambda formats

The current pattern only matches single-line lambdas with one positional parameter and no parentheses.
It fails for common variants such as
lambda x, y: x + y or lambda _: _.upper() and for multi-line lambdas returned with line-breaks.

-        lambda_match = re.search(r"lambda\s+\w+\s*:.*?(?=\n|$)", response_text)
+        lambda_match = re.search(r"lambda\s+[^:]+:\s*.*", response_text, re.S)

The re.S flag allows . to span newlines, and [^:]+ captures any valid parameter list.


142-144: Un-sandboxed eval on LLM output is a critical RCE vector

Directly evaluating arbitrary code produced by a model is extremely dangerous.
At minimum, run the evaluation in a restricted globals dict to strip built-ins:

-        fn: Callable[[Any], Any] = eval(lambda_text)  # noqa: S307
+        safe_globals: dict[str, Any] = {"__builtins__": {}}
+        fn: Callable[[Any], Any] = eval(lambda_text, safe_globals)  # noqa: S307

Even this is not bullet-proof; consider using ast.parse + eval on the resulting AST or a dedicated sandbox like restrictedpython.

🧹 Nitpick comments (15)
src/backend/base/langflow/components/data/news_search.py (1)

15-15: Double-check the docs URL slug

The slug components-data#news-search deviates from the folder structure mandated in the docs guidelines (docs/components/**). Please verify the link resolves (no 404) and update to the canonical path if necessary, e.g.
"https://docs.langflow.org/components/data#news-search".

If the current URL is correct, no action needed.

src/backend/base/langflow/components/agents/mcp_component.py (1)

95-99: Confirm docs URL & naming convention

documentation attribute is a welcome addition. Please double-check that
https://docs.langflow.org/mcp-client matches the actual path generated by the docs build (per docs/*/components/** template rules) and returns 200; otherwise update to the canonical location to avoid dead links.

src/backend/base/langflow/components/processing/structured_output.py (1)

21-21: Consider de-duplicating hard-coded docs URLs

Directly embedding the full URL string in every component can lead to drift if the docs domain or path ever changes. A small constant (e.g. DOCS_BASE_URL) or helper on the Component base class would keep all links consistent and easier to update.

-    documentation: str = "https://docs.langflow.org/components-processing#structured-output"
+    # Assumes DOCS_BASE_URL = "https://docs.langflow.org/"
+    documentation: str = f"{DOCS_BASE_URL}components-processing#structured-output"

This is optional, but it scales better as more components gain links.

src/backend/base/langflow/components/data/webhook.py (1)

10-10: Documentation link looks fine—please confirm the slug is correct

The added documentation URL uses the slug components-data#webhook. Other component pages usually follow the components/<category>#<anchor> convention (e.g., components/data#file). Double-check that this exact slug resolves and the page contains the expected “Overview / Configuration / Usage Example / Common Issues” sections so the link doesn’t 404.

src/backend/base/langflow/components/processing/llm_router.py (1)

18-22: Use ClassVar for class-level immutable metadata

Minor style nit: marking class-level constants with typing.ClassVar clarifies that documentation isn’t intended to be overridden on instances and keeps static analysers quiet.

 from typing import Any
+from typing import ClassVar
@@
-    documentation: str = "https://docs.langflow.org/components-processing#llm-router"
+    documentation: ClassVar[str] = "https://docs.langflow.org/components-processing#llm-router"

No functional change; feel free to ignore if the existing convention intentionally omits ClassVar.

src/backend/base/langflow/components/processing/converter.py (1)

51-55: Unify attribute-style with existing class constants

Other component-level constants (display_name, description, icon) are plain assignments without type annotations, while documentation is declared with a type hint.
For consistency (and to avoid accidental treatment as a dataclass/attrs field in future refactors) consider dropping the annotation:

-    documentation: str = "https://docs.langflow.org/components-processing#type-convert"
+    documentation = "https://docs.langflow.org/components-processing#type-convert"
src/backend/base/langflow/components/data/api_request.py (1)

46-50: Minor: keep constant declarations stylistically consistent

Same remark as for other components: remove the explicit : str to match neighbouring constants unless you plan to annotate all of them across the codebase.

-    documentation: str = "https://docs.langflow.org/components-data#api-request"
+    documentation = "https://docs.langflow.org/components-data#api-request"
src/backend/base/langflow/components/logic/loop.py (1)

11-15: Consistency & link check

  1. Style – drop the type hint to align with other class attributes (display_name, icon).
  2. Please double-check that the fragment #loop matches the actual heading id on the docs page – anchors are case-sensitive.
-    documentation: str = "https://docs.langflow.org/components-logic#loop"
+    documentation = "https://docs.langflow.org/components-logic#loop"
src/backend/base/langflow/components/helpers/current_date.py (1)

12-16: Follow the same constant style

For uniformity across components:

-    documentation: str = "https://docs.langflow.org/components-helpers#current-date"
+    documentation = "https://docs.langflow.org/components-helpers#current-date"
src/backend/base/langflow/components/models/embedding_model.py (1)

21-25: URL slug & style inconsistencies

  1. Style – consider removing the type annotation as in other files.
  2. The URL diverges from the <category>#<component> pattern used elsewhere (components-data#api-request, etc.). Verify the correct docs path/anchor (perhaps components-models#embedding-model).
-    documentation: str = "https://docs.langflow.org/components-embedding-models"
+    documentation = "https://docs.langflow.org/components-models#embedding-model"
src/backend/base/langflow/components/processing/data_operations.py (1)

36-37: Nit: validate documentation link

Same recommendation—ensure the components-processing#data-operations anchor exists.

No other issues with the addition.

src/backend/base/langflow/components/helpers/memory.py (1)

19-20: URL check

Please verify that components-helpers#message-history is the correct anchor – earlier helper pages sometimes live under components/helpers.

src/backend/base/langflow/components/input_output/chat.py (1)

22-23: Confirm docs anchor

components-io#chat-input looks fine, but give it a quick hit check for 200 OK to avoid broken in-app links.

src/backend/base/langflow/components/input_output/text.py (1)

9-9: Same note about link validity & duplication

Confirm that components-io#text-input exists and consider re-using a shared constant for the docs base URL to avoid future divergence.

src/backend/base/langflow/components/input_output/chat_output.py (1)

25-25: Confirm docs anchor and avoid hard-coding URL string

  1. Ensure components-io#chat-output is a live anchor.
  2. Repeating raw URLs in every class can become a maintenance burden; recommend factoring out a helper or at least a module-level constant.
📜 Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 19c9514 and 942de8f.

📒 Files selected for processing (33)
  • src/backend/base/langflow/components/agents/mcp_component.py (1 hunks)
  • src/backend/base/langflow/components/data/api_request.py (1 hunks)
  • src/backend/base/langflow/components/data/directory.py (1 hunks)
  • src/backend/base/langflow/components/data/file.py (1 hunks)
  • src/backend/base/langflow/components/data/news_search.py (1 hunks)
  • src/backend/base/langflow/components/data/rss.py (1 hunks)
  • src/backend/base/langflow/components/data/sql_executor.py (1 hunks)
  • src/backend/base/langflow/components/data/web_search.py (1 hunks)
  • src/backend/base/langflow/components/data/webhook.py (1 hunks)
  • src/backend/base/langflow/components/helpers/calculator_core.py (1 hunks)
  • src/backend/base/langflow/components/helpers/current_date.py (1 hunks)
  • src/backend/base/langflow/components/helpers/memory.py (1 hunks)
  • src/backend/base/langflow/components/input_output/chat.py (1 hunks)
  • src/backend/base/langflow/components/input_output/chat_output.py (1 hunks)
  • src/backend/base/langflow/components/input_output/text.py (1 hunks)
  • src/backend/base/langflow/components/input_output/text_output.py (1 hunks)
  • src/backend/base/langflow/components/logic/conditional_router.py (1 hunks)
  • src/backend/base/langflow/components/logic/loop.py (1 hunks)
  • src/backend/base/langflow/components/logic/run_flow.py (1 hunks)
  • src/backend/base/langflow/components/models/embedding_model.py (1 hunks)
  • src/backend/base/langflow/components/models/language_model.py (1 hunks)
  • src/backend/base/langflow/components/processing/batch_run.py (1 hunks)
  • src/backend/base/langflow/components/processing/converter.py (1 hunks)
  • src/backend/base/langflow/components/processing/data_operations.py (1 hunks)
  • src/backend/base/langflow/components/processing/dataframe_operations.py (1 hunks)
  • src/backend/base/langflow/components/processing/lambda_filter.py (1 hunks)
  • src/backend/base/langflow/components/processing/llm_router.py (1 hunks)
  • src/backend/base/langflow/components/processing/parser.py (1 hunks)
  • src/backend/base/langflow/components/processing/prompt.py (1 hunks)
  • src/backend/base/langflow/components/processing/python_repl_core.py (1 hunks)
  • src/backend/base/langflow/components/processing/save_file.py (1 hunks)
  • src/backend/base/langflow/components/processing/split_text.py (1 hunks)
  • src/backend/base/langflow/components/processing/structured_output.py (1 hunks)
🧰 Additional context used
📓 Path-based instructions (4)
`src/backend/base/langflow/components/**/*.py`: Add new backend components to th...

src/backend/base/langflow/components/**/*.py: Add new backend components to the appropriate subdirectory under src/backend/base/langflow/components/
Implement async component methods using async def and await for asynchronous operations
Use asyncio.create_task for background work in async components and ensure proper cleanup on cancellation
Use asyncio.Queue for non-blocking queue operations in async components and handle timeouts appropriately

📄 Source: CodeRabbit Inference Engine (.cursor/rules/backend_development.mdc)

List of files the instruction was applied to:

  • src/backend/base/langflow/components/processing/prompt.py
  • src/backend/base/langflow/components/helpers/current_date.py
  • src/backend/base/langflow/components/data/api_request.py
  • src/backend/base/langflow/components/data/sql_executor.py
  • src/backend/base/langflow/components/logic/conditional_router.py
  • src/backend/base/langflow/components/logic/loop.py
  • src/backend/base/langflow/components/data/web_search.py
  • src/backend/base/langflow/components/data/directory.py
  • src/backend/base/langflow/components/processing/python_repl_core.py
  • src/backend/base/langflow/components/processing/save_file.py
  • src/backend/base/langflow/components/logic/run_flow.py
  • src/backend/base/langflow/components/input_output/chat_output.py
  • src/backend/base/langflow/components/processing/converter.py
  • src/backend/base/langflow/components/helpers/calculator_core.py
  • src/backend/base/langflow/components/processing/data_operations.py
  • src/backend/base/langflow/components/data/webhook.py
  • src/backend/base/langflow/components/processing/lambda_filter.py
  • src/backend/base/langflow/components/processing/llm_router.py
  • src/backend/base/langflow/components/data/news_search.py
  • src/backend/base/langflow/components/agents/mcp_component.py
  • src/backend/base/langflow/components/input_output/chat.py
  • src/backend/base/langflow/components/processing/dataframe_operations.py
  • src/backend/base/langflow/components/processing/batch_run.py
  • src/backend/base/langflow/components/input_output/text_output.py
  • src/backend/base/langflow/components/input_output/text.py
  • src/backend/base/langflow/components/models/embedding_model.py
  • src/backend/base/langflow/components/processing/split_text.py
  • src/backend/base/langflow/components/processing/structured_output.py
  • src/backend/base/langflow/components/data/file.py
  • src/backend/base/langflow/components/processing/parser.py
  • src/backend/base/langflow/components/models/language_model.py
  • src/backend/base/langflow/components/helpers/memory.py
  • src/backend/base/langflow/components/data/rss.py
`src/backend/**/*.py`: Run make format_backend to format Python code early and often Run make lint to check for linting issues in backend Python code

src/backend/**/*.py: Run make format_backend to format Python code early and often
Run make lint to check for linting issues in backend Python code

📄 Source: CodeRabbit Inference Engine (.cursor/rules/backend_development.mdc)

List of files the instruction was applied to:

  • src/backend/base/langflow/components/processing/prompt.py
  • src/backend/base/langflow/components/helpers/current_date.py
  • src/backend/base/langflow/components/data/api_request.py
  • src/backend/base/langflow/components/data/sql_executor.py
  • src/backend/base/langflow/components/logic/conditional_router.py
  • src/backend/base/langflow/components/logic/loop.py
  • src/backend/base/langflow/components/data/web_search.py
  • src/backend/base/langflow/components/data/directory.py
  • src/backend/base/langflow/components/processing/python_repl_core.py
  • src/backend/base/langflow/components/processing/save_file.py
  • src/backend/base/langflow/components/logic/run_flow.py
  • src/backend/base/langflow/components/input_output/chat_output.py
  • src/backend/base/langflow/components/processing/converter.py
  • src/backend/base/langflow/components/helpers/calculator_core.py
  • src/backend/base/langflow/components/processing/data_operations.py
  • src/backend/base/langflow/components/data/webhook.py
  • src/backend/base/langflow/components/processing/lambda_filter.py
  • src/backend/base/langflow/components/processing/llm_router.py
  • src/backend/base/langflow/components/data/news_search.py
  • src/backend/base/langflow/components/agents/mcp_component.py
  • src/backend/base/langflow/components/input_output/chat.py
  • src/backend/base/langflow/components/processing/dataframe_operations.py
  • src/backend/base/langflow/components/processing/batch_run.py
  • src/backend/base/langflow/components/input_output/text_output.py
  • src/backend/base/langflow/components/input_output/text.py
  • src/backend/base/langflow/components/models/embedding_model.py
  • src/backend/base/langflow/components/processing/split_text.py
  • src/backend/base/langflow/components/processing/structured_output.py
  • src/backend/base/langflow/components/data/file.py
  • src/backend/base/langflow/components/processing/parser.py
  • src/backend/base/langflow/components/models/language_model.py
  • src/backend/base/langflow/components/helpers/memory.py
  • src/backend/base/langflow/components/data/rss.py
`src/backend/**/components/**/*.py`: In your Python component class, set the `icon` attribute to a string matching the frontend icon mapping exactly (case-sensitive).

src/backend/**/components/**/*.py: In your Python component class, set the icon attribute to a string matching the frontend icon mapping exactly (case-sensitive).

📄 Source: CodeRabbit Inference Engine (.cursor/rules/icons.mdc)

List of files the instruction was applied to:

  • src/backend/base/langflow/components/processing/prompt.py
  • src/backend/base/langflow/components/helpers/current_date.py
  • src/backend/base/langflow/components/data/api_request.py
  • src/backend/base/langflow/components/data/sql_executor.py
  • src/backend/base/langflow/components/logic/conditional_router.py
  • src/backend/base/langflow/components/logic/loop.py
  • src/backend/base/langflow/components/data/web_search.py
  • src/backend/base/langflow/components/data/directory.py
  • src/backend/base/langflow/components/processing/python_repl_core.py
  • src/backend/base/langflow/components/processing/save_file.py
  • src/backend/base/langflow/components/logic/run_flow.py
  • src/backend/base/langflow/components/input_output/chat_output.py
  • src/backend/base/langflow/components/processing/converter.py
  • src/backend/base/langflow/components/helpers/calculator_core.py
  • src/backend/base/langflow/components/processing/data_operations.py
  • src/backend/base/langflow/components/data/webhook.py
  • src/backend/base/langflow/components/processing/lambda_filter.py
  • src/backend/base/langflow/components/processing/llm_router.py
  • src/backend/base/langflow/components/data/news_search.py
  • src/backend/base/langflow/components/agents/mcp_component.py
  • src/backend/base/langflow/components/input_output/chat.py
  • src/backend/base/langflow/components/processing/dataframe_operations.py
  • src/backend/base/langflow/components/processing/batch_run.py
  • src/backend/base/langflow/components/input_output/text_output.py
  • src/backend/base/langflow/components/input_output/text.py
  • src/backend/base/langflow/components/models/embedding_model.py
  • src/backend/base/langflow/components/processing/split_text.py
  • src/backend/base/langflow/components/processing/structured_output.py
  • src/backend/base/langflow/components/data/file.py
  • src/backend/base/langflow/components/processing/parser.py
  • src/backend/base/langflow/components/models/language_model.py
  • src/backend/base/langflow/components/helpers/memory.py
  • src/backend/base/langflow/components/data/rss.py
`src/backend/**/*component*.py`: In your Python component class, set the `icon` attribute to a string matching the frontend icon mapping exactly (case-sensitive).

src/backend/**/*component*.py: In your Python component class, set the icon attribute to a string matching the frontend icon mapping exactly (case-sensitive).

📄 Source: CodeRabbit Inference Engine (.cursor/rules/icons.mdc)

List of files the instruction was applied to:

  • src/backend/base/langflow/components/agents/mcp_component.py
🧠 Learnings (20)
📓 Common learnings
Learnt from: CR
PR: langflow-ai/langflow#0
File: .cursor/rules/docs_development.mdc:0-0
Timestamp: 2025-06-30T14:40:02.667Z
Learning: Applies to docs/docs/**/*.{md,mdx} : Use consistent terminology: always capitalize 'Langflow', 'Component', and 'Flow' when referring to Langflow concepts; always uppercase 'API' and 'JSON'.
Learnt from: CR
PR: langflow-ai/langflow#0
File: .cursor/rules/docs_development.mdc:0-0
Timestamp: 2025-06-30T14:40:02.667Z
Learning: Applies to docs/docs/components/**/*.{md,mdx} : Component documentation pages must follow the provided template, including sections for Overview, Configuration (Inputs/Outputs), Usage Example, and Common Issues.
Learnt from: CR
PR: langflow-ai/langflow#0
File: .cursor/rules/docs_development.mdc:0-0
Timestamp: 2025-06-30T14:40:02.667Z
Learning: Internal links in documentation must be functional and tested.
Learnt from: CR
PR: langflow-ai/langflow#0
File: .cursor/rules/docs_development.mdc:0-0
Timestamp: 2025-06-30T14:40:02.667Z
Learning: Applies to docs/docs/**/*.{md,mdx} : All documentation content must be placed within the 'docs/' directory, organized into subdirectories such as 'getting-started', 'components', 'integrations', 'administration', 'contributing', and 'api-reference'.
src/backend/base/langflow/components/processing/prompt.py (1)
Learnt from: CR
PR: langflow-ai/langflow#0
File: .cursor/rules/docs_development.mdc:0-0
Timestamp: 2025-06-30T14:40:02.667Z
Learning: Applies to docs/docs/components/**/*.{md,mdx} : Component documentation pages must follow the provided template, including sections for Overview, Configuration (Inputs/Outputs), Usage Example, and Common Issues.
src/backend/base/langflow/components/data/sql_executor.py (3)
Learnt from: CR
PR: langflow-ai/langflow#0
File: .cursor/rules/icons.mdc:0-0
Timestamp: 2025-06-30T14:40:50.836Z
Learning: Applies to src/backend/**/*component*.py : In your Python component class, set the `icon` attribute to a string matching the frontend icon mapping exactly (case-sensitive).
Learnt from: CR
PR: langflow-ai/langflow#0
File: .cursor/rules/icons.mdc:0-0
Timestamp: 2025-06-23T12:46:52.420Z
Learning: When implementing a new component icon in Langflow, ensure the icon name is clear, recognizable, and used consistently across both backend (Python 'icon' attribute) and frontend (React/TypeScript mapping).
Learnt from: CR
PR: langflow-ai/langflow#0
File: .cursor/rules/icons.mdc:0-0
Timestamp: 2025-06-30T14:40:50.836Z
Learning: Applies to src/backend/**/components/**/*.py : In your Python component class, set the `icon` attribute to a string matching the frontend icon mapping exactly (case-sensitive).
src/backend/base/langflow/components/logic/loop.py (1)
Learnt from: CR
PR: langflow-ai/langflow#0
File: .cursor/rules/backend_development.mdc:0-0
Timestamp: 2025-06-30T14:39:17.428Z
Learning: Applies to src/backend/base/langflow/components/**/__init__.py : Update __init__.py with alphabetical imports when adding new components
src/backend/base/langflow/components/data/directory.py (4)
Learnt from: CR
PR: langflow-ai/langflow#0
File: .cursor/rules/backend_development.mdc:0-0
Timestamp: 2025-06-30T14:39:17.428Z
Learning: Applies to src/backend/base/langflow/components/**/*.py : Add new backend components to the appropriate subdirectory under src/backend/base/langflow/components/
Learnt from: CR
PR: langflow-ai/langflow#0
File: .cursor/rules/backend_development.mdc:0-0
Timestamp: 2025-06-30T14:39:17.428Z
Learning: Applies to src/backend/tests/unit/components/**/*.py : Mirror the component directory structure in unit tests under src/backend/tests/unit/components/
Learnt from: CR
PR: langflow-ai/langflow#0
File: .cursor/rules/icons.mdc:0-0
Timestamp: 2025-06-30T14:40:50.836Z
Learning: Applies to src/backend/**/*component*.py : In your Python component class, set the `icon` attribute to a string matching the frontend icon mapping exactly (case-sensitive).
Learnt from: CR
PR: langflow-ai/langflow#0
File: .cursor/rules/icons.mdc:0-0
Timestamp: 2025-06-30T14:40:50.836Z
Learning: Applies to src/backend/**/components/**/*.py : In your Python component class, set the `icon` attribute to a string matching the frontend icon mapping exactly (case-sensitive).
src/backend/base/langflow/components/processing/python_repl_core.py (2)
Learnt from: CR
PR: langflow-ai/langflow#0
File: .cursor/rules/icons.mdc:0-0
Timestamp: 2025-06-30T14:40:50.836Z
Learning: Applies to src/backend/**/*component*.py : In your Python component class, set the `icon` attribute to a string matching the frontend icon mapping exactly (case-sensitive).
Learnt from: CR
PR: langflow-ai/langflow#0
File: .cursor/rules/icons.mdc:0-0
Timestamp: 2025-06-30T14:40:50.836Z
Learning: Applies to src/backend/**/components/**/*.py : In your Python component class, set the `icon` attribute to a string matching the frontend icon mapping exactly (case-sensitive).
src/backend/base/langflow/components/logic/run_flow.py (4)
Learnt from: CR
PR: langflow-ai/langflow#0
File: .cursor/rules/backend_development.mdc:0-0
Timestamp: 2025-06-30T14:39:17.428Z
Learning: Applies to src/backend/base/langflow/components/**/__init__.py : Update __init__.py with alphabetical imports when adding new components
Learnt from: ogabrielluiz
PR: langflow-ai/langflow#0
File: :0-0
Timestamp: 2025-06-26T19:43:18.260Z
Learning: In langflow custom components, the `module_name` parameter is now propagated through template building functions to add module metadata and code hashes to frontend nodes for better component tracking and debugging.
Learnt from: CR
PR: langflow-ai/langflow#0
File: .cursor/rules/backend_development.mdc:0-0
Timestamp: 2025-06-30T14:39:17.428Z
Learning: Applies to src/backend/base/langflow/components/**/*.py : Add new backend components to the appropriate subdirectory under src/backend/base/langflow/components/
Learnt from: CR
PR: langflow-ai/langflow#0
File: .cursor/rules/icons.mdc:0-0
Timestamp: 2025-06-23T12:46:52.420Z
Learning: When implementing a new component icon in Langflow, ensure the icon name is clear, recognizable, and used consistently across both backend (Python 'icon' attribute) and frontend (React/TypeScript mapping).
src/backend/base/langflow/components/processing/converter.py (1)
Learnt from: CR
PR: langflow-ai/langflow#0
File: .cursor/rules/icons.mdc:0-0
Timestamp: 2025-06-23T12:46:52.420Z
Learning: When implementing a new component icon in Langflow, ensure the icon name is clear, recognizable, and used consistently across both backend (Python 'icon' attribute) and frontend (React/TypeScript mapping).
src/backend/base/langflow/components/processing/data_operations.py (1)
Learnt from: CR
PR: langflow-ai/langflow#0
File: .cursor/rules/icons.mdc:0-0
Timestamp: 2025-06-23T12:46:52.420Z
Learning: When implementing a new component icon in Langflow, ensure the icon name is clear, recognizable, and used consistently across both backend (Python 'icon' attribute) and frontend (React/TypeScript mapping).
src/backend/base/langflow/components/data/webhook.py (3)
Learnt from: CR
PR: langflow-ai/langflow#0
File: .cursor/rules/icons.mdc:0-0
Timestamp: 2025-06-23T12:46:52.420Z
Learning: When implementing a new component icon in Langflow, ensure the icon name is clear, recognizable, and used consistently across both backend (Python 'icon' attribute) and frontend (React/TypeScript mapping).
Learnt from: CR
PR: langflow-ai/langflow#0
File: .cursor/rules/icons.mdc:0-0
Timestamp: 2025-06-30T14:40:50.836Z
Learning: Applies to src/backend/**/*component*.py : In your Python component class, set the `icon` attribute to a string matching the frontend icon mapping exactly (case-sensitive).
Learnt from: CR
PR: langflow-ai/langflow#0
File: .cursor/rules/icons.mdc:0-0
Timestamp: 2025-06-30T14:40:50.836Z
Learning: Applies to src/backend/**/components/**/*.py : In your Python component class, set the `icon` attribute to a string matching the frontend icon mapping exactly (case-sensitive).
src/backend/base/langflow/components/processing/lambda_filter.py (1)
Learnt from: CR
PR: langflow-ai/langflow#0
File: .cursor/rules/icons.mdc:0-0
Timestamp: 2025-06-23T12:46:52.420Z
Learning: When implementing a new component icon in Langflow, ensure the icon name is clear, recognizable, and used consistently across both backend (Python 'icon' attribute) and frontend (React/TypeScript mapping).
src/backend/base/langflow/components/processing/llm_router.py (1)
Learnt from: CR
PR: langflow-ai/langflow#0
File: .cursor/rules/icons.mdc:0-0
Timestamp: 2025-06-23T12:46:52.420Z
Learning: When implementing a new component icon in Langflow, ensure the icon name is clear, recognizable, and used consistently across both backend (Python 'icon' attribute) and frontend (React/TypeScript mapping).
src/backend/base/langflow/components/data/news_search.py (3)
Learnt from: CR
PR: langflow-ai/langflow#0
File: .cursor/rules/backend_development.mdc:0-0
Timestamp: 2025-06-30T14:39:17.428Z
Learning: Applies to src/backend/base/langflow/components/**/__init__.py : Update __init__.py with alphabetical imports when adding new components
Learnt from: CR
PR: langflow-ai/langflow#0
File: .cursor/rules/icons.mdc:0-0
Timestamp: 2025-06-23T12:46:52.420Z
Learning: When implementing a new component icon in Langflow, ensure the icon name is clear, recognizable, and used consistently across both backend (Python 'icon' attribute) and frontend (React/TypeScript mapping).
Learnt from: CR
PR: langflow-ai/langflow#0
File: .cursor/rules/icons.mdc:0-0
Timestamp: 2025-06-30T14:40:50.836Z
Learning: Applies to src/backend/**/*component*.py : In your Python component class, set the `icon` attribute to a string matching the frontend icon mapping exactly (case-sensitive).
src/backend/base/langflow/components/input_output/chat.py (1)
Learnt from: CR
PR: langflow-ai/langflow#0
File: .cursor/rules/testing.mdc:0-0
Timestamp: 2025-06-30T14:41:58.837Z
Learning: Applies to {src/backend/tests/**/*.py,tests/**/*.py} : Test Langflow's 'Message' objects and chat functionality by asserting correct properties and structure.
src/backend/base/langflow/components/input_output/text.py (1)
Learnt from: CR
PR: langflow-ai/langflow#0
File: .cursor/rules/icons.mdc:0-0
Timestamp: 2025-06-23T12:46:52.420Z
Learning: When implementing a new component icon in Langflow, ensure the icon name is clear, recognizable, and used consistently across both backend (Python 'icon' attribute) and frontend (React/TypeScript mapping).
src/backend/base/langflow/components/models/embedding_model.py (2)
Learnt from: CR
PR: langflow-ai/langflow#0
File: .cursor/rules/icons.mdc:0-0
Timestamp: 2025-06-23T12:46:52.420Z
Learning: When implementing a new component icon in Langflow, ensure the icon name is clear, recognizable, and used consistently across both backend (Python 'icon' attribute) and frontend (React/TypeScript mapping).
Learnt from: CR
PR: langflow-ai/langflow#0
File: .cursor/rules/icons.mdc:0-0
Timestamp: 2025-06-30T14:40:50.836Z
Learning: Applies to src/backend/**/*component*.py : In your Python component class, set the `icon` attribute to a string matching the frontend icon mapping exactly (case-sensitive).
src/backend/base/langflow/components/processing/structured_output.py (1)
Learnt from: CR
PR: langflow-ai/langflow#0
File: .cursor/rules/docs_development.mdc:0-0
Timestamp: 2025-06-30T14:40:02.667Z
Learning: Applies to docs/docs/components/**/*.{md,mdx} : Component documentation pages must follow the provided template, including sections for Overview, Configuration (Inputs/Outputs), Usage Example, and Common Issues.
src/backend/base/langflow/components/data/file.py (2)
Learnt from: CR
PR: langflow-ai/langflow#0
File: .cursor/rules/backend_development.mdc:0-0
Timestamp: 2025-06-30T14:39:17.428Z
Learning: Applies to src/backend/base/langflow/components/**/*.py : Add new backend components to the appropriate subdirectory under src/backend/base/langflow/components/
Learnt from: CR
PR: langflow-ai/langflow#0
File: .cursor/rules/icons.mdc:0-0
Timestamp: 2025-06-23T12:46:52.420Z
Learning: When implementing a new component icon in Langflow, ensure the icon name is clear, recognizable, and used consistently across both backend (Python 'icon' attribute) and frontend (React/TypeScript mapping).
src/backend/base/langflow/components/processing/parser.py (1)
Learnt from: CR
PR: langflow-ai/langflow#0
File: .cursor/rules/docs_development.mdc:0-0
Timestamp: 2025-06-30T14:40:02.667Z
Learning: Applies to docs/docs/components/**/*.{md,mdx} : Component documentation pages must follow the provided template, including sections for Overview, Configuration (Inputs/Outputs), Usage Example, and Common Issues.
src/backend/base/langflow/components/models/language_model.py (5)
Learnt from: CR
PR: langflow-ai/langflow#0
File: .cursor/rules/docs_development.mdc:0-0
Timestamp: 2025-06-30T14:40:02.667Z
Learning: Applies to docs/docs/**/*.{md,mdx} : Use consistent terminology: always capitalize 'Langflow', 'Component', and 'Flow' when referring to Langflow concepts; always uppercase 'API' and 'JSON'.
Learnt from: CR
PR: langflow-ai/langflow#0
File: .cursor/rules/testing.mdc:0-0
Timestamp: 2025-06-30T14:41:58.837Z
Learning: Applies to {src/backend/tests/**/*.py,tests/**/*.py} : Use 'MockLanguageModel' for testing language model components without external API calls.
Learnt from: CR
PR: langflow-ai/langflow#0
File: .cursor/rules/backend_development.mdc:0-0
Timestamp: 2025-06-30T14:39:17.428Z
Learning: Applies to src/backend/base/langflow/components/**/*.py : Add new backend components to the appropriate subdirectory under src/backend/base/langflow/components/
Learnt from: CR
PR: langflow-ai/langflow#0
File: .cursor/rules/backend_development.mdc:0-0
Timestamp: 2025-06-30T14:39:17.428Z
Learning: Applies to src/backend/base/langflow/components/**/__init__.py : Update __init__.py with alphabetical imports when adding new components
Learnt from: CR
PR: langflow-ai/langflow#0
File: .cursor/rules/icons.mdc:0-0
Timestamp: 2025-06-23T12:46:52.420Z
Learning: When implementing a new component icon in Langflow, ensure the icon name is clear, recognizable, and used consistently across both backend (Python 'icon' attribute) and frontend (React/TypeScript mapping).
⏰ Context from checks skipped due to timeout of 90000ms (1)
  • GitHub Check: Optimize new Python code in this PR
🔇 Additional comments (15)
src/backend/base/langflow/components/processing/prompt.py (1)

12-12: Verify the new documentation URL actually resolves.

Great to see every component linking directly to its docs. Per our docs guidelines, internal links must be functional; please double-check that https://docs.langflow.org/components-prompts returns a 200 and the expected page content (no redirect loop / 404).

src/backend/base/langflow/components/data/directory.py (1)

12-12: Nice addition—documentation link in place.

The documentation attribute cleanly surfaces the docs URL and follows the pattern introduced across components. No further action needed here.

src/backend/base/langflow/components/data/sql_executor.py (1)

21-21: Documentation attribute correctly added – no further action needed
URL is well-formed and the change is fully isolated from runtime logic.

src/backend/base/langflow/components/processing/split_text.py (1)

14-14: Documentation URL Verified

The link https://docs.langflow.org/components-processing#split-text responds with HTTP 200 OK.
No further action needed.

src/backend/base/langflow/components/processing/save_file.py (1)

21-24: Documentation link validated
The URL https://docs.langflow.org/components-processing#save-file returns HTTP 200. No further changes required.

src/backend/base/langflow/components/processing/lambda_filter.py (1)

19-19: Verify the documentation URL anchor

Double-check that https://docs.langflow.org/components-processing#smart-function is the final, stable slug generated by Docusaurus.
A broken anchor will surface only at runtime and defeats the goal of this PR.

src/backend/base/langflow/components/processing/parser.py (1)

13-13: Documentation link verified: URL and anchor both valid
The URL https://docs.langflow.org/components-processing#parser returns HTTP 200 and contains the id="parser" anchor. No changes required.

Verified location:

  • src/backend/base/langflow/components/processing/parser.py (line 13)
src/backend/base/langflow/components/processing/dataframe_operations.py (1)

18-18: Documentation Anchor Confirmed

The #dataframe-operations anchor exists in docs/docs/Components/components-processing.md (line 18: ## DataFrame operations), so the link is valid.

src/backend/base/langflow/components/logic/run_flow.py (1)

16-16: Adds clear documentation link – looks good

Direct link will improve DX; no further action needed.

src/backend/base/langflow/components/helpers/calculator_core.py (1)

14-14: Documentation URL added correctly

Keeps style consistent across components. 👍

src/backend/base/langflow/components/models/language_model.py (1)

20-22: Nice cleanup & doc link

Trimmed description and new documentation attribute are both fine.

src/backend/base/langflow/components/logic/conditional_router.py (1)

11-11: Good addition of documentation attribute

Maintains the emerging convention.

src/backend/base/langflow/components/data/file.py (1)

19-19: Consistent documentation link added

Change is harmless and aligns with project guidelines.

src/backend/base/langflow/components/processing/batch_run.py (1)

19-20: Documentation URL Verified

The URL https://docs.langflow.org/components-processing#batch-run returns HTTP 200 OK, so no changes are needed.

src/backend/base/langflow/components/processing/python_repl_core.py (1)

13-15: Docs link and icon spelling are correct

  • The documentation URL returns HTTP 200.
  • The icon string "square-terminal" exists in the frontend mapping (src/frontend/src/utils/styleUtils.ts:466).

No changes required.

Comment thread src/backend/base/langflow/components/data/rss.py
Comment thread src/backend/base/langflow/components/data/web_search.py
Comment thread src/backend/base/langflow/components/input_output/text_output.py
@github-actions github-actions Bot added documentation Improvements or additions to documentation and removed documentation Improvements or additions to documentation labels Jul 3, 2025
@github-actions github-actions Bot added documentation Improvements or additions to documentation and removed documentation Improvements or additions to documentation labels Jul 3, 2025
Copy link
Copy Markdown
Collaborator

@edwinjosechittilappilly edwinjosechittilappilly left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approving with comments

@dosubot dosubot Bot added the lgtm This PR has been approved by a maintainer label Jul 3, 2025
@github-actions github-actions Bot added documentation Improvements or additions to documentation and removed documentation Improvements or additions to documentation labels Jul 3, 2025
@mendonk mendonk enabled auto-merge July 3, 2025 20:59
@mendonk mendonk added this pull request to the merge queue Jul 3, 2025
Merged via the queue into main with commit dd55acb Jul 3, 2025
66 of 68 checks passed
@mendonk mendonk deleted the docs-link-components branch July 3, 2025 21:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation lgtm This PR has been approved by a maintainer size:M This PR changes 30-99 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants