feat: Add tool_mode to Output model and add it to the skip output check (#6036)

* feat: Add tool_mode field to Output model for tool usage specification

* fix: Specify type for component_toolkit in to_toolkit method

* feat: Add method to determine if output should be skipped in ComponentToolkit

* [autofix.ci] apply automated fixes

* test: Add tool_mode field to Output model in test schema

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
This commit is contained in:
Gabriel Luiz Freitas Almeida 2025-01-30 18:39:20 -03:00 committed by GitHub
commit b00ab3ae5e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
22 changed files with 187 additions and 2 deletions

View file

@ -169,6 +169,24 @@ class ComponentToolkit:
self.component = component
self.metadata = metadata
def _should_skip_output(self, output: Output) -> bool:
"""Determines if an output should be skipped when creating tools.
Args:
output (Output): The output to check.
Returns:
bool: True if the output should be skipped, False otherwise.
The output will be skipped if:
- tool_mode is False (output is not meant to be used as a tool)
- output name matches TOOL_OUTPUT_NAME
- output types contain any of the tool types in TOOL_TYPES_SET
"""
return not output.tool_mode or (
output.name == TOOL_OUTPUT_NAME or any(tool_type in output.types for tool_type in TOOL_TYPES_SET)
)
def get_tools(
self,
tool_name: str | None = None,
@ -178,7 +196,7 @@ class ComponentToolkit:
) -> list[BaseTool]:
tools = []
for output in self.component.outputs:
if output.name == TOOL_OUTPUT_NAME or any(tool_type in output.types for tool_type in TOOL_TYPES_SET):
if self._should_skip_output(output):
continue
if not output.method:

View file

@ -44,6 +44,7 @@ from .custom_component import CustomComponent
if TYPE_CHECKING:
from collections.abc import Callable
from langflow.base.tools.component_tool import ComponentToolkit
from langflow.events.event_manager import EventManager
from langflow.graph.edge.schema import EdgeData
from langflow.graph.vertex.base import Vertex
@ -1023,7 +1024,7 @@ class Component(CustomComponent):
return Input(**kwargs)
async def to_toolkit(self) -> list[Tool]:
component_toolkit = _get_component_toolkit()
component_toolkit: type[ComponentToolkit] = _get_component_toolkit()
tools = component_toolkit(component=self).get_tools(callbacks=self.get_langchain_callbacks())
if hasattr(self, TOOLS_METADATA_INPUT_NAME):
tools = component_toolkit(component=self, metadata=self.tools_metadata).update_tools_metadata(tools=tools)

View file

@ -213,6 +213,7 @@
"method": "build_prompt",
"name": "prompt",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -345,6 +346,7 @@
"method": "message_response",
"name": "message",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -639,6 +641,7 @@
"method": "message_response",
"name": "message",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -915,6 +918,7 @@
"method": "build_prompt",
"name": "prompt",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -1041,6 +1045,7 @@
"method": "build_prompt",
"name": "prompt",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -1251,6 +1256,7 @@
"name": "text_output",
"required_inputs": [],
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -1266,6 +1272,7 @@
"api_key"
],
"selected": "LanguageModel",
"tool_mode": true,
"types": [
"LanguageModel"
],
@ -1595,6 +1602,7 @@
"name": "text_output",
"required_inputs": [],
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -1610,6 +1618,7 @@
"api_key"
],
"selected": "LanguageModel",
"tool_mode": true,
"types": [
"LanguageModel"
],
@ -1939,6 +1948,7 @@
"name": "text_output",
"required_inputs": [],
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -1954,6 +1964,7 @@
"api_key"
],
"selected": "LanguageModel",
"tool_mode": true,
"types": [
"LanguageModel"
],

View file

@ -119,6 +119,7 @@
"method": "message_response",
"name": "message",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -400,6 +401,7 @@
"method": "build_prompt",
"name": "prompt",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -602,6 +604,7 @@
"method": "message_response",
"name": "message",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -888,6 +891,7 @@
"name": "text_output",
"required_inputs": [],
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -903,6 +907,7 @@
"api_key"
],
"selected": "LanguageModel",
"tool_mode": true,
"types": [
"LanguageModel"
],

View file

@ -171,6 +171,7 @@
"method": "parse_data",
"name": "text",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -183,6 +184,7 @@
"method": "parse_data_as_list",
"name": "data_list",
"selected": "Data",
"tool_mode": true,
"types": [
"Data"
],
@ -327,6 +329,7 @@
"method": "build_prompt",
"name": "prompt",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -496,6 +499,7 @@
"method": "text_response",
"name": "text",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -606,6 +610,7 @@
"method": "message_response",
"name": "message",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -987,6 +992,7 @@
"name": "text_output",
"required_inputs": [],
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -1002,6 +1008,7 @@
"api_key"
],
"selected": "LanguageModel",
"tool_mode": true,
"types": [
"LanguageModel"
],
@ -1322,6 +1329,7 @@
"method": "fetch_content",
"name": "data",
"selected": "Data",
"tool_mode": true,
"types": [
"Data"
],
@ -1334,6 +1342,7 @@
"method": "fetch_content_text",
"name": "text",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -1346,6 +1355,7 @@
"method": "as_dataframe",
"name": "dataframe",
"selected": "DataFrame",
"tool_mode": true,
"types": [
"DataFrame"
],

View file

@ -236,6 +236,7 @@
"method": "message_response",
"name": "message",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -537,6 +538,7 @@
"method": "retrieve_messages",
"name": "messages",
"selected": "Data",
"tool_mode": true,
"types": [
"Data"
],
@ -549,6 +551,7 @@
"method": "retrieve_messages_as_text",
"name": "messages_text",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -786,6 +789,7 @@
"method": "build_prompt",
"name": "prompt",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -1032,6 +1036,7 @@
"method": "message_response",
"name": "message",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -1371,6 +1376,7 @@
"method": "fetch_content",
"name": "data",
"selected": "Data",
"tool_mode": true,
"types": [
"Data"
],
@ -1383,6 +1389,7 @@
"method": "fetch_content_text",
"name": "text",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -1395,6 +1402,7 @@
"method": "as_dataframe",
"name": "dataframe",
"selected": "DataFrame",
"tool_mode": true,
"types": [
"DataFrame"
],
@ -1524,6 +1532,7 @@
"method": "fetch_content",
"name": "data",
"selected": "Data",
"tool_mode": true,
"types": [
"Data"
],
@ -1536,6 +1545,7 @@
"method": "fetch_content_text",
"name": "text",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -1548,6 +1558,7 @@
"method": "as_dataframe",
"name": "dataframe",
"selected": "DataFrame",
"tool_mode": true,
"types": [
"DataFrame"
],
@ -1683,6 +1694,7 @@
"method": "fetch_content",
"name": "data",
"selected": "Data",
"tool_mode": true,
"types": [
"Data"
],
@ -1695,6 +1707,7 @@
"method": "fetch_content_text",
"name": "text",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -1707,6 +1720,7 @@
"method": "as_dataframe",
"name": "dataframe",
"selected": "DataFrame",
"tool_mode": true,
"types": [
"DataFrame"
],
@ -1847,6 +1861,7 @@
"name": "text_output",
"required_inputs": [],
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -1862,6 +1877,7 @@
"api_key"
],
"selected": "LanguageModel",
"tool_mode": true,
"types": [
"LanguageModel"
],

View file

@ -169,6 +169,7 @@
"method": "message_response",
"name": "message",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -457,6 +458,7 @@
"method": "message_response",
"name": "message",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -733,6 +735,7 @@
"method": "parse_data",
"name": "text",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -745,6 +748,7 @@
"method": "parse_data_as_list",
"name": "data_list",
"selected": "Data",
"tool_mode": true,
"types": [
"Data"
],
@ -952,6 +956,7 @@
"name": "data",
"required_inputs": [],
"selected": "Data",
"tool_mode": true,
"types": [
"Data"
],
@ -1204,6 +1209,7 @@
"method": "build_prompt",
"name": "prompt",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -1361,6 +1367,7 @@
"name": "text_output",
"required_inputs": [],
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -1376,6 +1383,7 @@
"api_key"
],
"selected": "LanguageModel",
"tool_mode": true,
"types": [
"LanguageModel"
],

View file

@ -354,6 +354,7 @@
"method": "message_response",
"name": "message",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -671,6 +672,7 @@
"openai_api_key"
],
"selected": "Embeddings",
"tool_mode": true,
"types": [
"Embeddings"
],
@ -1176,6 +1178,7 @@
"token"
],
"selected": "Data",
"tool_mode": true,
"types": [
"Data"
],
@ -1189,6 +1192,7 @@
"name": "dataframe",
"required_inputs": [],
"selected": "DataFrame",
"tool_mode": true,
"types": [
"DataFrame"
],
@ -1687,6 +1691,7 @@
"method": "parse_data",
"name": "text",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -1699,6 +1704,7 @@
"method": "parse_data_as_list",
"name": "data_list",
"selected": "Data",
"tool_mode": true,
"types": [
"Data"
],
@ -1843,6 +1849,7 @@
"method": "build_prompt",
"name": "prompt",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -2017,6 +2024,7 @@
"name": "text_output",
"required_inputs": [],
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -2032,6 +2040,7 @@
"api_key"
],
"selected": "LanguageModel",
"tool_mode": true,
"types": [
"LanguageModel"
],
@ -2334,6 +2343,7 @@
"method": "message_response",
"name": "message",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -2605,6 +2615,7 @@
"method": "fetch_content",
"name": "data",
"selected": "Data",
"tool_mode": true,
"types": [
"Data"
],
@ -2617,6 +2628,7 @@
"method": "fetch_content_text",
"name": "text",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -2629,6 +2641,7 @@
"method": "as_dataframe",
"name": "dataframe",
"selected": "DataFrame",
"tool_mode": true,
"types": [
"DataFrame"
],
@ -2794,6 +2807,7 @@
"token"
],
"selected": "Data",
"tool_mode": true,
"types": [
"Data"
],
@ -2807,6 +2821,7 @@
"name": "dataframe",
"required_inputs": [],
"selected": "DataFrame",
"tool_mode": true,
"types": [
"DataFrame"
],
@ -3304,6 +3319,7 @@
"name": "data",
"required_inputs": [],
"selected": "Data",
"tool_mode": true,
"types": [
"Data"
],
@ -3489,6 +3505,7 @@
"name": "data",
"required_inputs": [],
"selected": "Data",
"tool_mode": true,
"types": [
"Data"
],
@ -3650,6 +3667,7 @@
"openai_api_key"
],
"selected": "Embeddings",
"tool_mode": true,
"types": [
"Embeddings"
],

View file

@ -198,6 +198,7 @@
"method": "message_response",
"name": "message",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -500,6 +501,7 @@
"method": "message_response",
"name": "message",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -1042,6 +1044,7 @@
"method": "parse_data",
"name": "text",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -1054,6 +1057,7 @@
"method": "parse_data_as_list",
"name": "data_list",
"selected": "Data",
"tool_mode": true,
"types": [
"Data"
],
@ -1201,6 +1205,7 @@
"method": "build_prompt",
"name": "prompt",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -1337,6 +1342,7 @@
"name": "text_output",
"required_inputs": [],
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -1352,6 +1358,7 @@
"api_key"
],
"selected": "LanguageModel",
"tool_mode": true,
"types": [
"LanguageModel"
],

View file

@ -311,6 +311,7 @@
"method": "message_response",
"name": "message",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -602,6 +603,7 @@
"method": "build_prompt",
"name": "prompt",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -770,6 +772,7 @@
"method": "text_response",
"name": "text",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -879,6 +882,7 @@
"method": "build_prompt",
"name": "prompt",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -1033,6 +1037,7 @@
"method": "message_response",
"name": "message",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -1331,6 +1336,7 @@
"method": "message_response",
"name": "response",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -1893,6 +1899,7 @@
"method": "build_prompt",
"name": "prompt",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -2560,6 +2567,7 @@
"name": "text_output",
"required_inputs": [],
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -2575,6 +2583,7 @@
"api_key"
],
"selected": "LanguageModel",
"tool_mode": true,
"types": [
"LanguageModel"
],
@ -2904,6 +2913,7 @@
"name": "text_output",
"required_inputs": [],
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -2919,6 +2929,7 @@
"api_key"
],
"selected": "LanguageModel",
"tool_mode": true,
"types": [
"LanguageModel"
],

View file

@ -208,6 +208,7 @@
"method": "message_response",
"name": "message",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -502,6 +503,7 @@
"method": "message_response",
"name": "message",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -1170,6 +1172,7 @@
"method": "parse_data",
"name": "text",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -1182,6 +1185,7 @@
"method": "parse_data_as_list",
"name": "data_list",
"selected": "Data",
"tool_mode": true,
"types": [
"Data"
],
@ -1349,6 +1353,7 @@
"method": "message_response",
"name": "response",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -2266,6 +2271,7 @@
"name": "text_output",
"required_inputs": [],
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -2281,6 +2287,7 @@
"api_key"
],
"selected": "LanguageModel",
"tool_mode": true,
"types": [
"LanguageModel"
],

View file

@ -144,6 +144,7 @@
"method": "message_response",
"name": "message",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -446,6 +447,7 @@
"method": "message_response",
"name": "message",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -792,6 +794,7 @@
"method": "retrieve_messages",
"name": "messages",
"selected": "Data",
"tool_mode": true,
"types": [
"Data"
],
@ -804,6 +807,7 @@
"method": "retrieve_messages_as_text",
"name": "messages_text",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -1041,6 +1045,7 @@
"method": "build_prompt",
"name": "prompt",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -1199,6 +1204,7 @@
"name": "text_output",
"required_inputs": [],
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -1214,6 +1220,7 @@
"api_key"
],
"selected": "LanguageModel",
"tool_mode": true,
"types": [
"LanguageModel"
],

View file

@ -303,6 +303,7 @@
"method": "build_prompt",
"name": "prompt",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -458,6 +459,7 @@
"method": "message_response",
"name": "message",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -752,6 +754,7 @@
"method": "message_response",
"name": "message",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -1031,6 +1034,7 @@
"method": "build_prompt",
"name": "prompt",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -1263,6 +1267,7 @@
"method": "message_response",
"name": "response",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -1822,6 +1827,7 @@
"method": "build_prompt",
"name": "prompt",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -1948,6 +1954,7 @@
"method": "build_prompt",
"name": "prompt",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -2435,6 +2442,7 @@
"name": "text_output",
"required_inputs": [],
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -2450,6 +2458,7 @@
"api_key"
],
"selected": "LanguageModel",
"tool_mode": true,
"types": [
"LanguageModel"
],
@ -2779,6 +2788,7 @@
"name": "text_output",
"required_inputs": [],
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -2794,6 +2804,7 @@
"api_key"
],
"selected": "LanguageModel",
"tool_mode": true,
"types": [
"LanguageModel"
],

View file

@ -120,6 +120,7 @@
"method": "build_prompt",
"name": "prompt",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -419,6 +420,7 @@
"method": "build_prompt",
"name": "prompt",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -551,6 +553,7 @@
"method": "message_response",
"name": "message",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -867,6 +870,7 @@
"name": "text_output",
"required_inputs": [],
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -882,6 +886,7 @@
"api_key"
],
"selected": "LanguageModel",
"tool_mode": true,
"types": [
"LanguageModel"
],

View file

@ -124,6 +124,7 @@
"method": "build_prompt",
"name": "prompt",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -371,6 +372,7 @@
"method": "message_response",
"name": "message",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -705,6 +707,7 @@
"method": "message_response",
"name": "response",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],

View file

@ -340,6 +340,7 @@
"method": "message_response",
"name": "message",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -639,6 +640,7 @@
"method": "message_response",
"name": "response",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -1221,6 +1223,7 @@
"method": "message_response",
"name": "response",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -1786,6 +1789,7 @@
"method": "build_prompt",
"name": "prompt",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -1918,6 +1922,7 @@
"method": "build_prompt",
"name": "prompt",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -2053,6 +2058,7 @@
"method": "build_prompt",
"name": "prompt",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -2229,6 +2235,7 @@
"method": "message_response",
"name": "message",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -2620,6 +2627,7 @@
"method": "message_response",
"name": "response",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],

View file

@ -169,6 +169,7 @@
"method": "message_response",
"name": "response",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -726,6 +727,7 @@
"method": "message_response",
"name": "message",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -1022,6 +1024,7 @@
"method": "message_response",
"name": "message",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],

View file

@ -228,6 +228,7 @@
"method": "message_response",
"name": "message",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -522,6 +523,7 @@
"method": "message_response",
"name": "message",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -821,6 +823,7 @@
"method": "message_response",
"name": "response",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -1403,6 +1406,7 @@
"method": "message_response",
"name": "response",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -1985,6 +1989,7 @@
"method": "message_response",
"name": "response",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],

View file

@ -285,6 +285,7 @@
"method": "message_response",
"name": "message",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -569,6 +570,7 @@
"method": "text_response",
"name": "text",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -682,6 +684,7 @@
"method": "message_response",
"name": "message",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -954,6 +957,7 @@
"method": "text_response",
"name": "text",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -1057,6 +1061,7 @@
"method": "text_response",
"name": "text",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -1160,6 +1165,7 @@
"method": "text_response",
"name": "text",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -1263,6 +1269,7 @@
"method": "text_response",
"name": "text",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -1366,6 +1373,7 @@
"method": "text_response",
"name": "text",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -1517,6 +1525,7 @@
"method": "build_prompt",
"name": "prompt",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -1791,6 +1800,7 @@
"name": "text_output",
"required_inputs": [],
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -1806,6 +1816,7 @@
"api_key"
],
"selected": "LanguageModel",
"tool_mode": true,
"types": [
"LanguageModel"
],

View file

@ -301,6 +301,7 @@
"method": "message_response",
"name": "message",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -582,6 +583,7 @@
"method": "parse_data",
"name": "text",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -594,6 +596,7 @@
"method": "parse_data_as_list",
"name": "data_list",
"selected": "Data",
"tool_mode": true,
"types": [
"Data"
],
@ -744,6 +747,7 @@
"method": "build_prompt",
"name": "prompt",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -915,6 +919,7 @@
"method": "split_text",
"name": "chunks",
"selected": "Data",
"tool_mode": true,
"types": [
"Data"
],
@ -927,6 +932,7 @@
"method": "as_dataframe",
"name": "dataframe",
"selected": "DataFrame",
"tool_mode": true,
"types": [
"DataFrame"
],
@ -1160,6 +1166,7 @@
"method": "message_response",
"name": "message",
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -1455,6 +1462,7 @@
"openai_api_key"
],
"selected": "Embeddings",
"tool_mode": true,
"types": [
"Embeddings"
],
@ -1989,6 +1997,7 @@
"openai_api_key"
],
"selected": "Embeddings",
"tool_mode": true,
"types": [
"Embeddings"
],
@ -2468,6 +2477,7 @@
"name": "data",
"required_inputs": [],
"selected": "Data",
"tool_mode": true,
"types": [
"Data"
],
@ -2818,6 +2828,7 @@
"name": "text_output",
"required_inputs": [],
"selected": "Message",
"tool_mode": true,
"types": [
"Message"
],
@ -2833,6 +2844,7 @@
"api_key"
],
"selected": "LanguageModel",
"tool_mode": true,
"types": [
"LanguageModel"
],
@ -3170,6 +3182,7 @@
"token"
],
"selected": "Data",
"tool_mode": true,
"types": [
"Data"
],
@ -3183,6 +3196,7 @@
"name": "dataframe",
"required_inputs": [],
"selected": "DataFrame",
"tool_mode": true,
"types": [
"DataFrame"
],
@ -3663,6 +3677,7 @@
"token"
],
"selected": "Data",
"tool_mode": true,
"types": [
"Data"
],
@ -3676,6 +3691,7 @@
"name": "dataframe",
"required_inputs": [],
"selected": "DataFrame",
"tool_mode": true,
"types": [
"DataFrame"
],

View file

@ -200,6 +200,9 @@ class Output(BaseModel):
allows_loop: bool = Field(default=False)
"""Specifies if the output allows looping."""
tool_mode: bool = Field(default=True)
"""Specifies if the output should be used as a tool"""
def to_dict(self):
return self.model_dump(by_alias=True, exclude_none=True)

View file

@ -139,6 +139,7 @@ class TestOutput:
"display_name": "test_output",
"cache": True,
"value": "__UNDEFINED__",
"tool_mode": True,
}
def test_output_validate_display_name(self):