Skip to content
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
105 commits
Select commit Hold shift + click to select a range
3f5825c
refactor: improve code structure and add NodeDrawer component
deon-sanchez Aug 20, 2025
ed34295
refactor: simplify NodeDrawer component and enhance Dropdown integration
deon-sanchez Aug 20, 2025
364d600
Merge branch 'main' of https://github.com/langflow-ai/langflow into l…
deon-sanchez Aug 21, 2025
fa907cf
refactor: remove NodeDrawer component and clean up Dropdown integration
deon-sanchez Aug 21, 2025
040e353
[autofix.ci] apply automated fixes
autofix-ci[bot] Aug 21, 2025
da160d6
[autofix.ci] apply automated fixes (attempt 2/3)
autofix-ci[bot] Aug 21, 2025
c452056
refactor: enhance Dropdown and input components with externalOptions …
deon-sanchez Aug 21, 2025
2939295
Merge branch 'lfoss-1953' of https://github.com/langflow-ai/langflow …
deon-sanchez Aug 21, 2025
a506d5f
[autofix.ci] apply automated fixes
autofix-ci[bot] Aug 21, 2025
d762ba6
refactor: enhance Dropdown component with loading state and source op…
deon-sanchez Aug 21, 2025
35ccdf9
Merge branch 'lfoss-1953' of https://github.com/langflow-ai/langflow …
deon-sanchez Aug 21, 2025
439e860
[autofix.ci] apply automated fixes
autofix-ci[bot] Aug 21, 2025
8d8341e
Revert initial_setup/starter_projects to match origin/main
deon-sanchez Aug 21, 2025
79c7337
Merge branch 'lfoss-1953' of https://github.com/langflow-ai/langflow …
deon-sanchez Aug 21, 2025
9510b17
refactor: update starter project JSON files to improve code structure
deon-sanchez Aug 21, 2025
8995fcd
fix: update PROXY_TARGET in config-constants to use localhost for bet…
deon-sanchez Aug 21, 2025
f0f4ce4
[autofix.ci] apply automated fixes
autofix-ci[bot] Aug 21, 2025
62b55cf
refactor: improve Dropdown component structure and styling
deon-sanchez Aug 21, 2025
66d6af5
Merge branch 'lfoss-1953' of https://github.com/langflow-ai/langflow …
deon-sanchez Aug 21, 2025
96f8fd1
refactor: reorganize imports and adjust Dropdown component behavior
deon-sanchez Aug 21, 2025
860a346
refactor: enhance Dropdown component functionality and logging
deon-sanchez Aug 21, 2025
680fccf
[autofix.ci] apply automated fixes
autofix-ci[bot] Aug 21, 2025
d39d7e4
refactor: enhance Dropdown component with flow store integration
deon-sanchez Aug 21, 2025
d53dd95
Merge branch 'lfoss-1953' of https://github.com/langflow-ai/langflow …
deon-sanchez Aug 21, 2025
4dbef74
[autofix.ci] apply automated fixes
autofix-ci[bot] Aug 21, 2025
6cb8aa5
Merge branch 'main' into lfoss-1953
edwinjosechittilappilly Aug 21, 2025
612fd93
refactor: Update agent component to support custom model connections
edwinjosechittilappilly Aug 21, 2025
9c3b3ed
[autofix.ci] apply automated fixes
autofix-ci[bot] Aug 21, 2025
02a8cc5
Merge branch 'main' of https://github.com/langflow-ai/langflow into l…
deon-sanchez Aug 22, 2025
f6ed797
refactor: Reorganize imports and enhance dropdown component logic
deon-sanchez Aug 22, 2025
ebd2231
[autofix.ci] apply automated fixes
autofix-ci[bot] Aug 22, 2025
d0052ae
Merge branch 'main' of https://github.com/langflow-ai/langflow into l…
deon-sanchez Aug 22, 2025
21146f1
refactor: Update import statements in starter project JSON files and …
deon-sanchez Aug 22, 2025
4612234
Merge branch 'main' of https://github.com/langflow-ai/langflow into l…
deon-sanchez Aug 25, 2025
4629fe3
Merge branch 'main' of https://github.com/langflow-ai/langflow into l…
deon-sanchez Aug 25, 2025
cbc4b42
small fix and revert
deon-sanchez Aug 26, 2025
95e9255
[autofix.ci] apply automated fixes
autofix-ci[bot] Aug 26, 2025
cb8ab79
refactor: Clean up imports and improve dropdown component styling
deon-sanchez Aug 26, 2025
108d95e
Merge branch 'lfoss-1953' of https://github.com/langflow-ai/langflow …
deon-sanchez Aug 26, 2025
67109d3
Merge branch 'main' of https://github.com/langflow-ai/langflow into l…
deon-sanchez Aug 26, 2025
73e9aad
[autofix.ci] apply automated fixes
autofix-ci[bot] Aug 26, 2025
79f7a35
refactor: Enhance dropdown component functionality and clean up imports
deon-sanchez Aug 26, 2025
3966dde
Merge branch 'main' of https://github.com/langflow-ai/langflow into l…
deon-sanchez Aug 26, 2025
c50e937
refactor: Reorganize imports in FlowSidebarComponent for clarity
deon-sanchez Aug 26, 2025
1d07b67
refactor: Simplify dropdown component state management
deon-sanchez Aug 26, 2025
3eb7cd6
Update pyproject versions
jordanrfrazier Aug 27, 2025
cc975df
fix: Avoid namespace collision for Astra (#9544)
erichare Aug 27, 2025
e423526
fix: Revert to a working composio release for module import (#9569)
erichare Aug 27, 2025
f9ea3c8
Merge branch 'main' into lfoss-1953
deon-sanchez Aug 27, 2025
7fec73d
fix: Knowledge base component refactor (#9543)
erichare Aug 27, 2025
8c0c492
fix: update agent component display name and reset input types (#9570)
edwinjosechittilappilly Aug 27, 2025
d8b5731
fix: Fix env file handling in Windows build scripts (#9414)
Cristhianzl Aug 27, 2025
49ddc8c
fix: update agent_llm display name to "Model Provider" in AgentCompon…
edwinjosechittilappilly Aug 27, 2025
e494afb
fix: use custom file handler on chat view, disable mcp_composer by de…
lucaseduoli Aug 27, 2025
48fe917
fix: Use the newest file component in Vector Store RAG Template (#9571)
erichare Aug 27, 2025
45512a5
fix: AI/ML icon is missing (#9553)
deon-sanchez Aug 27, 2025
d38e8f4
fix: Allow updates to the file component in templates using it (#9572)
erichare Aug 27, 2025
7a4bcfb
fix: Fixes filtering so legacy components aren't shown by default (#9…
mfortman11 Aug 27, 2025
e07d489
fix: changed name on tool mode to slug, added close button to sidebar…
lucaseduoli Aug 28, 2025
9e871e2
fix: enhance scroll behavior on playground (#9586)
lucaseduoli Aug 28, 2025
f792525
fix: delete duplicate Serper api from google bundle (#9601)
lucaseduoli Aug 28, 2025
3480d64
Merge branch 'main' into lfoss-1953
mendonk Aug 28, 2025
d9c005b
fix: allow deletion of mcp servers, add tests for mcp sidebar (#9587)
lucaseduoli Aug 29, 2025
5860a8b
fix: change zoom in and out limit, create tests for zooming in and ou…
lucaseduoli Aug 29, 2025
f82e514
fix: Add localStorage persistence for feature toggles (#9597)
Cristhianzl Aug 29, 2025
b4e4435
fix: Add help text to Lock Flow option (#9600)
Cristhianzl Aug 29, 2025
2c21fbd
fix: Add comprehensive tests and improve minimal condition logic (#9611)
Cristhianzl Aug 29, 2025
133fe6c
fix: change icon color for mcp, remove color setting of icons (#9594)
lucaseduoli Aug 29, 2025
d715fa1
fix: remove unsupported styling options from chats components (#9610)
italojohnny Aug 29, 2025
9798500
fix: disable mcp auto install for not installed applications, refacto…
lucaseduoli Aug 29, 2025
349295a
fix: Properly allow the non-specification of an OCR Engine (#9617)
erichare Sep 1, 2025
dfd4037
fix: Support objects with data attribute in body processing (#9644)
Cristhianzl Sep 2, 2025
f8da854
fix: Add comprehensive message sorting + tests (#9641)
Cristhianzl Sep 2, 2025
cfd10f8
fix: Fix audio recording resource cleanup (#9623)
Cristhianzl Sep 2, 2025
f854b70
fix: Add voice mode availability detection (#9621)
Cristhianzl Sep 2, 2025
8b0ddde
fix: Remove formatting from agent input text content (#9638)
Cristhianzl Sep 2, 2025
9f09250
fix: added most important types at the beginning of the extensions ar…
lucaseduoli Sep 2, 2025
8d26d52
fix: Include flow ID in webhook URLs (#9624)
Cristhianzl Sep 2, 2025
0f9b172
Merge branch 'main' of https://github.com/langflow-ai/langflow into l…
deon-sanchez Sep 2, 2025
1f754e6
[autofix.ci] apply automated fixes
autofix-ci[bot] Sep 2, 2025
8182364
[autofix.ci] apply automated fixes (attempt 2/3)
autofix-ci[bot] Sep 2, 2025
8d82ba8
[autofix.ci] apply automated fixes (attempt 3/3)
autofix-ci[bot] Sep 2, 2025
6ae59f1
refactor: Update code formatting and structure in multiple starter pr…
deon-sanchez Sep 2, 2025
6d2bbbc
Merge branch 'lfoss-1953' of https://github.com/langflow-ai/langflow …
deon-sanchez Sep 2, 2025
5411416
refactor: Reorganize imports and clean up console logs in Dropdown co…
deon-sanchez Sep 2, 2025
469820a
[autofix.ci] apply automated fixes
autofix-ci[bot] Sep 2, 2025
3562ded
Update agent.py
edwinjosechittilappilly Sep 2, 2025
c060c77
Merge branch 'lfoss-1953' of https://github.com/langflow-ai/langflow …
edwinjosechittilappilly Sep 2, 2025
0232619
refactor: Restore and reorganize imports in Dropdown component
deon-sanchez Sep 2, 2025
e7d9b5a
Merge branch 'lfoss-1953' of https://github.com/langflow-ai/langflow …
edwinjosechittilappilly Sep 2, 2025
f5ff635
[autofix.ci] apply automated fixes
autofix-ci[bot] Sep 2, 2025
169fd32
fix(logger): add optional cache to configure; update caching behavior…
ogabrielluiz Sep 2, 2025
9ee7c2a
updates template
deon-sanchez Sep 2, 2025
d10854a
fix: Update sidebar border styles (#9625)
mfortman11 Sep 2, 2025
a290c46
fix: Remove top padding from sidebar groups (#9636)
Cristhianzl Sep 2, 2025
ea49ead
fix: disable message editing on playground, fix new session not persi…
lucaseduoli Sep 2, 2025
9d04d56
fix: disable elevate edges on node select (#9658)
lucaseduoli Sep 2, 2025
fae8e4f
merge big PR
deon-sanchez Sep 2, 2025
ec62e73
merged bigger pr
deon-sanchez Sep 2, 2025
bcd2b4b
Merge branch 'main' of https://github.com/langflow-ai/langflow into l…
deon-sanchez Sep 2, 2025
612eaf6
Merge branch 'release-1.6.0' of https://github.com/langflow-ai/langfl…
deon-sanchez Sep 2, 2025
a07267c
[autofix.ci] apply automated fixes
autofix-ci[bot] Sep 2, 2025
af6e3cb
fix: remove extraneous flag from is-unicode-supported in package-lock…
deon-sanchez Sep 2, 2025
2cb1ec6
Merge branch 'lfoss-1953' of https://github.com/langflow-ai/langflow …
deon-sanchez Sep 2, 2025
2793f48
[autofix.ci] apply automated fixes
autofix-ci[bot] Sep 2, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
[autofix.ci] apply automated fixes (attempt 2/3)
  • Loading branch information
autofix-ci[bot] authored Sep 2, 2025
commit 8182364bc982094b5b36e7eb45135c54e8abbb5b
76 changes: 17 additions & 59 deletions src/backend/base/langflow/components/agents/agent.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,18 +47,13 @@ def set_advanced_true(component_input):

class AgentComponent(ToolCallingAgentComponent):
display_name: str = "Agent"
description: str = (
"Define the agent's instructions, then enter a task to complete using tools."
)
description: str = "Define the agent's instructions, then enter a task to complete using tools."
documentation: str = "https://docs.langflow.org/agents"
icon = "bot"
beta = False
name = "Agent"

memory_inputs = [
set_advanced_true(component_input)
for component_input in MemoryComponent().inputs
]
memory_inputs = [set_advanced_true(component_input) for component_input in MemoryComponent().inputs]

# Filter out json_mode from OpenAI inputs since we handle structured output differently
openai_inputs_filtered = [
Expand Down Expand Up @@ -153,9 +148,7 @@ class AgentComponent(ToolCallingAgentComponent):
"display_name": "Type",
"type": "str",
"edit_mode": EditMode.INLINE,
"description": (
"Indicate the data type of the output field (e.g., str, int, float, bool, dict)."
),
"description": ("Indicate the data type of the output field (e.g., str, int, float, bool, dict)."),
"options": ["str", "int", "float", "bool", "dict"],
"default": "str",
},
Expand Down Expand Up @@ -207,9 +200,7 @@ async def get_agent_requirements(self):
if self.add_current_date_tool:
if not isinstance(self.tools, list): # type: ignore[has-type]
self.tools = []
current_date_tool = (
await CurrentDateComponent(**self.get_base_args()).to_toolkit()
).pop(0)
current_date_tool = (await CurrentDateComponent(**self.get_base_args()).to_toolkit()).pop(0)
if not isinstance(current_date_tool, StructuredTool):
msg = "CurrentDateComponent must be converted to a StructuredTool"
raise TypeError(msg)
Expand All @@ -218,9 +209,7 @@ async def get_agent_requirements(self):

async def message_response(self) -> Message:
try:
llm_model, self.chat_history, self.tools = (
await self.get_agent_requirements()
)
llm_model, self.chat_history, self.tools = await self.get_agent_requirements()
# Set up and run agent
self.set(
llm=llm_model,
Expand Down Expand Up @@ -290,11 +279,7 @@ async def build_structured_output_base(self, content: str):
return {"content": content, "error": schema_error_msg}

# If no output schema provided, return parsed JSON without validation
if (
not hasattr(self, "output_schema")
or not self.output_schema
or len(self.output_schema) == 0
):
if not hasattr(self, "output_schema") or not self.output_schema or len(self.output_schema) == 0:
return json_data

# Use BaseModel validation with schema
Expand All @@ -313,9 +298,7 @@ async def build_structured_output_base(self, content: str):
except ValidationError as e:
await logger.aerror(f"Validation error for item: {e}")
# Include invalid items with error info
validated_objects.append(
{"data": item, "validation_error": str(e)}
)
validated_objects.append({"data": item, "validation_error": str(e)})
return validated_objects

# Single object
Expand Down Expand Up @@ -348,11 +331,7 @@ async def json_response(self) -> Data:
system_components.append(f"Format instructions: {format_instructions}")

# 3. Schema Information from BaseModel
if (
hasattr(self, "output_schema")
and self.output_schema
and len(self.output_schema) > 0
):
if hasattr(self, "output_schema") and self.output_schema and len(self.output_schema) > 0:
try:
processed_schema = self._preprocess_schema(self.output_schema)
output_model = build_model_from_schema(processed_schema)
Expand All @@ -370,17 +349,11 @@ async def json_response(self) -> Data:
)
system_components.append(schema_info)
except (ValidationError, ValueError, TypeError, KeyError) as e:
await logger.aerror(
f"Could not build schema for prompt: {e}", exc_info=True
)
await logger.aerror(f"Could not build schema for prompt: {e}", exc_info=True)

# Combine all components
combined_instructions = (
"\n\n".join(system_components) if system_components else ""
)
llm_model, self.chat_history, self.tools = (
await self.get_agent_requirements()
)
combined_instructions = "\n\n".join(system_components) if system_components else ""
llm_model, self.chat_history, self.tools = await self.get_agent_requirements()
self.set(
llm=llm_model,
tools=self.tools or [],
Expand Down Expand Up @@ -454,9 +427,7 @@ async def get_memory_data(self):
.retrieve_messages()
)
return [
message
for message in messages
if getattr(message, "id", None) != getattr(self.input_value, "id", None)
message for message in messages if getattr(message, "id", None) != getattr(self.input_value, "id", None)
]

async def get_llm(self):
Expand All @@ -477,9 +448,7 @@ async def get_llm(self):
return self._build_llm_model(component_class, inputs, prefix), display_name

except (AttributeError, ValueError, TypeError, RuntimeError) as e:
await logger.aerror(
f"Error building {self.agent_llm} language model: {e!s}"
)
await logger.aerror(f"Error building {self.agent_llm} language model: {e!s}")
msg = f"Failed to initialize language model: {e!s}"
raise ValueError(msg) from e

Expand Down Expand Up @@ -554,9 +523,7 @@ async def update_build_config(
self.delete_fields(build_config, fields)

# Add provider-specific fields
if field_value == "OpenAI" and not any(
field in build_config for field in fields_to_add
):
if field_value == "OpenAI" and not any(field in build_config for field in fields_to_add):
build_config.update(fields_to_add)
else:
build_config.update(fields_to_add)
Expand All @@ -576,9 +543,7 @@ async def update_build_config(
refresh_button=False,
input_types=["LanguageModel"],
placeholder="Awaiting model input.",
options_metadata=[
MODELS_METADATA[key] for key in MODEL_PROVIDERS_LIST
],
options_metadata=[MODELS_METADATA[key] for key in MODEL_PROVIDERS_LIST],
external_options={
"fields": {
"data": {
Expand Down Expand Up @@ -631,12 +596,7 @@ async def update_build_config(
build_config = await update_component_build_config(
component_class, build_config, field_value, "model_name"
)
return dotdict(
{
k: v.to_dict() if hasattr(v, "to_dict") else v
for k, v in build_config.items()
}
)
return dotdict({k: v.to_dict() if hasattr(v, "to_dict") else v for k, v in build_config.items()})

async def _get_tools(self) -> list[Tool]:
component_toolkit = _get_component_toolkit()
Expand All @@ -650,7 +610,5 @@ async def _get_tools(self) -> list[Tool]:
callbacks=self.get_langchain_callbacks(),
)
if hasattr(self, "tools_metadata"):
tools = component_toolkit(
component=self, metadata=self.tools_metadata
).update_tools_metadata(tools=tools)
tools = component_toolkit(component=self, metadata=self.tools_metadata).update_tools_metadata(tools=tools)
return tools
1 change: 0 additions & 1 deletion src/backend/tests/unit/base/mcp/test_mcp_util.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
from unittest.mock import AsyncMock, MagicMock, patch

import pytest

from langflow.base.mcp import util
from langflow.base.mcp.util import MCPSessionManager, MCPSseClient, MCPStdioClient, _process_headers, validate_headers

Expand Down
Loading