diff --git a/docs/docs/Agents/agent-tool-calling-agent-component.md b/docs/docs/Agents/agent-tool-calling-agent-component.md
index 92f9919dd..52d401505 100644
--- a/docs/docs/Agents/agent-tool-calling-agent-component.md
+++ b/docs/docs/Agents/agent-tool-calling-agent-component.md
@@ -149,14 +149,7 @@ Current Date and Time: I can retrieve the current date and time in various time
## Make any component a tool
-These components support **Tool Mode**:
-
-* **URL**
-* **API request**
-* **Calculator**
-* **Current date**
-
-If the component you want to use as a tool doesn't have a **Tool Mode** button, add `tool_mode=True` to one of the component's inputs.
+If the component you want to use as a tool doesn't have a **Tool Mode** button, add `tool_mode=True` to one of the component's inputs, and connect the new **Toolset** output to the agent's **Tools** input.
Langflow supports **Tool Mode** for the following data types:
@@ -167,7 +160,7 @@ Langflow supports **Tool Mode** for the following data types:
* `MultilineInput`
* `DropdownInput`
-For example, in the [components as tools](#components-as-tools) example above, `tool_mode=True,` is added to the `MultilineInput` input so the custom component can be used as a tool.
+For example, the [components as tools](#components-as-tools) example above adds `tool_mode=True` to the `MessageTextInput` input so the custom component can be used as a tool.
```python
inputs = [
diff --git a/docs/docs/Components/components-helpers.md b/docs/docs/Components/components-helpers.md
index 313748bfa..4c6a4ca9f 100644
--- a/docs/docs/Components/components-helpers.md
+++ b/docs/docs/Components/components-helpers.md
@@ -11,7 +11,7 @@ Helper components provide utility functions to help manage data, tasks, and othe
Chat memory in Langflow is stored either in local Langflow tables with `LCBufferMemory`, or connected to an external database.
-The **Store Message** helper component stores chat memories as [Data](/configuration-objects) objects, and the **Message History** helper component retrieves chat messages as data objects or strings.
+The **Store Message** helper component stores chat memories as [Data](/concepts-objects) objects, and the **Message History** helper component retrieves chat messages as data objects or strings.
This example flow stores and retrieves chat history from an [AstraDBChatMemory](/components-memories#astradbchatmemory-component) component with **Store Message** and **Chat Memory** components.
diff --git a/docs/docs/Components/components-io.md b/docs/docs/Components/components-io.md
index 9d01e06ee..8ef03e2e2 100644
--- a/docs/docs/Components/components-io.md
+++ b/docs/docs/Components/components-io.md
@@ -13,7 +13,8 @@ The difference between Chat Input and Text Input components is the output format
This component collects user input from the chat.
-The Chat Input component creates a [Message](/configuration-objects) object that includes the input text, sender information, session ID, file attachments, and styling properties. It can optionally store the message in a chat history and supports customization of the message appearance.
+The Chat Input component creates a [Message](/concepts-objects) object that includes the input text, sender information, session ID, file attachments, and styling properties.
+It can optionally store the message in a chat history and supports customization of the message appearance.
### Inputs
@@ -56,7 +57,8 @@ The Text Input component offers one input field for text, while the Chat Input h
## Chat Output
-The Chat Output component creates a [Message](/configuration-objects) object that includes the input text, sender information, session ID, and styling properties. It can optionally store the message in a chat history and supports customization of the message appearance, including background color, icon, and text color.
+The Chat Output component creates a [Message](/concepts-objects) object that includes the input text, sender information, session ID, and styling properties.
+It can optionally store the message in a chat history and supports customization of the message appearance, including background color, icon, and text color.
### Inputs
@@ -81,7 +83,9 @@ The Chat Output component creates a [Message](/configuration-objects) object tha
## Text Output
-The TextOutputComponent displays text output in the **Playground**. It takes a single input of text and returns a [Message](/configuration-objects) object containing that text. The component is simpler compared to the Chat Output, but focuses solely on displaying text without additional chat-specific features or customizations.
+The TextOutputComponent displays text output in the **Playground**.
+It takes a single input of text and returns a [Message](/concepts-objects) object containing that text.
+The component is simpler compared to the Chat Output but focuses solely on displaying text without additional chat-specific features or customizations.
### Inputs
diff --git a/docs/docs/Components/components-loaders.md b/docs/docs/Components/components-loaders.md
index 2969fe630..67b481412 100644
--- a/docs/docs/Components/components-loaders.md
+++ b/docs/docs/Components/components-loaders.md
@@ -14,7 +14,8 @@ Loaders fetch data into Langflow from various sources, such as databases, websit
## Use a loader component in a flow
This flow creates a question-and-answer chatbot for documents that are loaded into the flow.
-The [Unstructured.io](https://unstructured.io/) loader component loads files from your local machine, and then parses them into a list of structured [Data](/configuration-objects) objects. This loaded data informs the **Open AI** component's responses to your questions.
+The [Unstructured.io](https://unstructured.io/) loader component loads files from your local machine, and then parses them into a list of structured [Data](/concepts-objects) objects.
+This loaded data informs the **Open AI** component's responses to your questions.

@@ -62,7 +63,7 @@ The GitLoader component uses the GitLoader from LangChain to fetch and load docu
## Unstructured
-This component uses the [Unstructured.io](https://unstructured.io/) Serverless API to load and parse files into a list of structured [Data](/configuration-objects) objects.
+This component uses the [Unstructured.io](https://unstructured.io/) Serverless API to load and parse files into a list of structured [Data](/concepts-objects) objects.
### Inputs
diff --git a/docs/docs/Components/components-logic.md b/docs/docs/Components/components-logic.md
index 578873a31..7b674491d 100644
--- a/docs/docs/Components/components-logic.md
+++ b/docs/docs/Components/components-logic.md
@@ -7,6 +7,33 @@ slug: /components-logic
Logic components provide functionalities for routing, conditional processing, and flow management.
+## Use a logic component in a flow
+
+This flow creates a summarizing "for each" loop with the [Loop](/components-logic#loop) component.
+
+The component iterates over a list of [Data](/concepts-objects#data-object) objects until it's completed, and then the **Done** loop aggregates the results.
+
+The **File** component loads text files from your local machine, and then the **Parse Data** component parses them into a list of structured `Data` objects.
+The **Loop** component passes each `Data` object to a **Prompt** to be summarized.
+
+When the **Loop** component runs out of `Data`, the **Done** loop activates, which counts the number of pages and summarizes their tone with another **Prompt**.
+This is represented in Langflow by connecting the Parse Data component's **Data List** output to the Loop component's `Data` loop input.
+
+
+
+The output will look similar to this:
+```plain
+Document Summary
+Total Pages Processed
+Total Pages: 2
+Overall Tone of Document
+Tone: Informative and Instructional
+The documentation outlines microservices architecture patterns and best practices.
+It emphasizes service isolation and inter-service communication protocols.
+The use of asynchronous messaging patterns is recommended for system scalability.
+It includes code examples of REST and gRPC implementations to demonstrate integration approaches.
+```
+
## Conditional router
This component routes an input message to a corresponding output based on text comparison.
@@ -90,6 +117,24 @@ This component listens for a notification and retrieves its associated state.
|--------|------|--------------------------------------------|
| output | Data | The state associated with the notification. |
+
+## Loop
+
+This component iterates over a list of [Data](/concepts-objects#data-object) objects, outputting one item at a time and aggregating results from loop inputs.
+
+### Inputs
+
+| Name | Type | Description |
+|------|-----------|------------------------------------------------------|
+| data | Data/List | The initial list of Data objects to iterate over. |
+
+### Outputs
+
+| Name | Type | Description |
+|------|---------|-------------------------------------------------------|
+| item | Data | Outputs one item at a time from the data list. |
+| done | Data | Triggered when iteration complete, returns aggregated results. |
+
## Notify
This component generates a notification for the Listen component to use.
diff --git a/docs/docs/Components/components-memories.md b/docs/docs/Components/components-memories.md
index e2818dd1c..eeb16d8f3 100644
--- a/docs/docs/Components/components-memories.md
+++ b/docs/docs/Components/components-memories.md
@@ -15,7 +15,7 @@ Memory components provide access to their respective external databases **as mem
This example flow stores and retrieves chat history from an **Astra DB Chat Memory** component with **Store Message** and **Chat Memory** components.
-The **Store Message** helper component stores chat memories as [Data](/configuration-objects) objects, and the **Message History** helper component retrieves chat messages as [Data](/configuration-objects) objects or strings.
+The **Store Message** helper component stores chat memories as [Data](/concepts-objects) objects, and the **Message History** helper component retrieves chat messages as [Data](/concepts-objects) objects or strings.

diff --git a/docs/docs/Components/components-models.md b/docs/docs/Components/components-models.md
index 6492ba602..ba4d0de8b 100644
--- a/docs/docs/Components/components-models.md
+++ b/docs/docs/Components/components-models.md
@@ -13,7 +13,7 @@ Refer to your specific component's documentation for more information on paramet
Model components receive inputs and prompts for generating text, and the generated text is sent to an output component.
-The model output can also be sent to the **Language Model** port and on to a **Parse Data** component, where the output can be parsed into structured [Data](/configuration-objects) objects.
+The model output can also be sent to the **Language Model** port and on to a **Parse Data** component, where the output can be parsed into structured [Data](/concepts-objects) objects.
This example has the OpenAI model in a chatbot flow. For more information, see the [Basic prompting flow](/starter-projects-basic-prompting).
@@ -125,6 +125,12 @@ For more information, see the [Cohere documentation](https://cohere.ai/).
| Temperature | Temperature | Specifies the sampling temperature. Defaults to `0.75`. |
| Input Value | Input Value | Specifies the input text for text generation. |
+### Outputs
+
+| Name | Type | Description |
+|-------|---------------|------------------------------------------------------------------|
+| model | LanguageModel | An instance of the Cohere model configured with the specified parameters. |
+
## Google Generative AI
This component generates text using Google's Generative AI models.
@@ -269,6 +275,12 @@ For more information, see [Ollama documentation](https://ollama.com/).
| Model Name | Model Name | The model name to use. |
| Temperature | Temperature | Controls the creativity of model responses. |
+### Outputs
+
+| Name | Type | Description |
+|-------|---------------|------------------------------------------------------------------|
+| model | LanguageModel | An instance of an Ollama model configured with the specified parameters. |
+
## OpenAI
This component generates text using OpenAI's language models.
@@ -299,6 +311,30 @@ This component generates text using Qianfan's language models.
For more information, see [Qianfan documentation](https://github.com/baidubce/bce-qianfan-sdk).
+## OpenRouter
+
+This component generates text using OpenRouter's unified API for multiple AI models from different providers.
+
+For more information, see [OpenRouter documentation](https://openrouter.ai/docs).
+
+### Inputs
+
+| Name | Type | Description |
+|-------------|---------------|------------------------------------------------------------------|
+| api_key | SecretString | Your OpenRouter API key for authentication. |
+| site_url | String | Your site URL for OpenRouter rankings (advanced). |
+| app_name | String | Your app name for OpenRouter rankings (advanced). |
+| provider | String | The AI model provider to use. |
+| model_name | String | The specific model to use for chat completion. |
+| temperature | Float | Controls randomness in the output. Range: [0.0, 2.0]. Default: 0.7. |
+| max_tokens | Integer | The maximum number of tokens to generate (advanced). |
+
+### Outputs
+
+| Name | Type | Description |
+|-------|---------------|------------------------------------------------------------------|
+| model | LanguageModel | An instance of ChatOpenAI configured with the specified parameters. |
+
## Perplexity
This component generates text using Perplexity's language models.
diff --git a/docs/docs/Components/components-processing.md b/docs/docs/Components/components-processing.md
index eb1de1002..8bb0d9251 100644
--- a/docs/docs/Components/components-processing.md
+++ b/docs/docs/Components/components-processing.md
@@ -9,7 +9,7 @@ Processing components process and transform data within a flow.
## Use a processing component in a flow
-The **Split Text** processing component in this flow splits the incoming [data](/configuration-objects) into chunks to be embedded into the vector store component.
+The **Split Text** processing component in this flow splits the incoming [data](/concepts-objects) into chunks to be embedded into the vector store component.
The component offers control over chunk size, overlap, and separator, which affect context and granularity in vector store retrieval results.
@@ -28,6 +28,44 @@ This component concatenates two text sources into a single text chunk using a sp
| delimiter | Delimiter | A string used to separate the two text inputs. Defaults to a space. |
+## DataFrame operations
+
+This component performs the following operations on Pandas [DataFrame](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.html):
+
+| Operation | Description | Required Inputs |
+|-----------|-------------|-----------------|
+| Add Column | Adds a new column with a constant value | new_column_name, new_column_value |
+| Drop Column | Removes a specified column | column_name |
+| Filter | Filters rows based on column value | column_name, filter_value |
+| Head | Returns first n rows | num_rows |
+| Rename Column | Renames an existing column | column_name, new_column_name |
+| Replace Value | Replaces values in a column | column_name, replace_value, replacement_value |
+| Select Columns | Selects specific columns | columns_to_select |
+| Sort | Sorts DataFrame by column | column_name, ascending |
+| Tail | Returns last n rows | num_rows |
+
+### Inputs
+
+| Name | Display Name | Info |
+|------|--------------|------|
+| df | DataFrame | The input DataFrame to operate on. |
+| operation | Operation | Select the DataFrame operation to perform. Options: Add Column, Drop Column, Filter, Head, Rename Column, Replace Value, Select Columns, Sort, Tail |
+| column_name | Column Name | The column name to use for the operation. |
+| filter_value | Filter Value | The value to filter rows by. |
+| ascending | Sort Ascending | Whether to sort in ascending order. |
+| new_column_name | New Column Name | The new column name when renaming or adding a column. |
+| new_column_value | New Column Value | The value to populate the new column with. |
+| columns_to_select | Columns to Select | List of column names to select. |
+| num_rows | Number of Rows | Number of rows to return (for head/tail). Default: 5 |
+| replace_value | Value to Replace | The value to replace in the column. |
+| replacement_value | Replacement Value | The value to replace with. |
+
+### Outputs
+
+| Name | Display Name | Info |
+|------|--------------|------|
+| output | DataFrame | The resulting DataFrame after the operation. |
+
## Filter Data
This component filters a Data object based on a list of keys.
diff --git a/docs/docs/Components/components-tools.md b/docs/docs/Components/components-tools.md
index 55d56e4f6..afc202adf 100644
--- a/docs/docs/Components/components-tools.md
+++ b/docs/docs/Components/components-tools.md
@@ -49,7 +49,7 @@ The Data output is primarily used when directly querying Astra DB, while the Too
| Name | Type | Description |
|------|------|-------------|
-| Data | List[`Data`] | A list of [Data](/configuration-objects) objects containing the query results from Astra DB. Each `Data` object contains the document fields specified by the projection attributes. Limited by the `number_of_results` parameter. |
+| Data | List[`Data`] | A list of [Data](/concepts-objects) objects containing the query results from Astra DB. Each `Data` object contains the document fields specified by the projection attributes. Limited by the `number_of_results` parameter. |
| Tool | StructuredTool | A LangChain `StructuredTool` object that can be used in agent workflows. Contains the tool name, description, argument schema based on tool parameters, and the query function. |
@@ -79,7 +79,7 @@ The main difference between this tool and the **Astra DB Tool** is that this too
| Name | Type | Description |
|------|------|-------------|
-| Data | List[Data] | A list of [Data](/configuration-objects) objects containing the query results from the Astra DB CQL table. Each Data object contains the document fields specified by the projection fields. Limited by the number_of_results parameter. |
+| Data | List[Data] | A list of [Data](/concepts-objects) objects containing the query results from the Astra DB CQL table. Each Data object contains the document fields specified by the projection fields. Limited by the `number_of_results` parameter. |
| Tool | StructuredTool | A LangChain StructuredTool object that can be used in agent workflows. Contains the tool name, description, argument schema based on partition and clustering keys, and the query function. |
## Bing Search API
diff --git a/docs/docs/Components/components-vector-stores.md b/docs/docs/Components/components-vector-stores.md
index d5e05d1e8..113e24f00 100644
--- a/docs/docs/Components/components-vector-stores.md
+++ b/docs/docs/Components/components-vector-stores.md
@@ -23,7 +23,9 @@ This vector data can then be retrieved for workloads like Retrieval Augmented Ge

-The user's chat input is embedded and compared to the vectors embedded during document ingestion for a similarity search. The results are output from the vector database component as a [Data](/configuration-objects) object, and parsed into text. This text fills the `{context}` variable in the **Prompt** component, which informs the **Open AI model** component's responses.
+The user's chat input is embedded and compared to the vectors embedded during document ingestion for a similarity search.
+The results are output from the vector database component as a [Data](/concepts-objects) object and parsed into text.
+This text fills the `{context}` variable in the **Prompt** component, which informs the **Open AI model** component's responses.
Alternatively, connect the vector database component's **Retriever** port to a [retriever tool](components-tools#retriever-tool), and then to an [agent](/components-agents) component. This enables the agent to use your vector database as a tool and make decisions based on the available data.
diff --git a/docs/docs/Concepts/concepts-components.md b/docs/docs/Concepts/concepts-components.md
index 2fde27988..f0344f5e3 100644
--- a/docs/docs/Concepts/concepts-components.md
+++ b/docs/docs/Concepts/concepts-components.md
@@ -27,7 +27,7 @@ Use the component controls to do the following:
Click **All** to see additional options for a component.
-To view a component’s output and logs, click the **Visibility** icon.
+To view a component’s output and logs, click the icon.
To run a single component, click **Play**.
diff --git a/docs/docs/Configuration/configuration-objects.md b/docs/docs/Concepts/concepts-objects.md
similarity index 97%
rename from docs/docs/Configuration/configuration-objects.md
rename to docs/docs/Concepts/concepts-objects.md
index 70a31da3e..ce602bea0 100644
--- a/docs/docs/Configuration/configuration-objects.md
+++ b/docs/docs/Concepts/concepts-objects.md
@@ -1,9 +1,9 @@
---
title: Langflow objects
-slug: /configuration-objects
+slug: /concepts-objects
---
-In Langflow, the Data and Message objects are Pydantic models that serve as structured, functional representations of data.
+In Langflow, objects are [Pydantic](https://docs.pydantic.dev/latest/api/base_model/) models that serve as structured, functional representations of data.
## Data object
diff --git a/docs/docs/Concepts/concepts-overview.md b/docs/docs/Concepts/concepts-overview.md
index cb1412ec7..1dcaec646 100644
--- a/docs/docs/Concepts/concepts-overview.md
+++ b/docs/docs/Concepts/concepts-overview.md
@@ -47,7 +47,7 @@ The **workspace** is where you create AI applications by connecting and running
The workspace controls allow you to adjust your view and lock your flows in place.
* Add **Notes** to flows with the **Add Note** button, similar to commenting in code.
-* To access the [Settings](#settings) menu, click ⚙️ **Settings**.
+* To access the [Settings](#settings) menu, click **Settings**.
This menu contains configuration for **Global Variables**, **Langflow API**, **Shortcuts**, and **Messages**.
diff --git a/docs/docs/Configuration/configuration-global-variables.md b/docs/docs/Configuration/configuration-global-variables.md
index 8331afb7c..2f327d38c 100644
--- a/docs/docs/Configuration/configuration-global-variables.md
+++ b/docs/docs/Configuration/configuration-global-variables.md
@@ -3,12 +3,13 @@ title: Global variables
slug: /configuration-global-variables
---
+import Icon from "@site/src/components/icon";
import ReactPlayer from "react-player";
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
Global variables let you store and reuse generic input values and credentials across your projects.
-You can use a global variable in any text input field that displays the 🌐 icon.
+You can use a global variable in any text input field that displays the **Globe** icon.
Langflow stores global variables in its internal database, and encrypts the values using a secret key.
diff --git a/docs/docs/Get-Started/get-started-quickstart.md b/docs/docs/Get-Started/get-started-quickstart.md
index 2895e7e23..10f6ad659 100644
--- a/docs/docs/Get-Started/get-started-quickstart.md
+++ b/docs/docs/Get-Started/get-started-quickstart.md
@@ -3,14 +3,15 @@ title: Quickstart
slug: /get-started-quickstart
---
+import Icon from "@site/src/components/icon";
+
Get to know Langflow by building an OpenAI-powered chatbot application. After you've constructed a chatbot, add Retrieval Augmented Generation (RAG) to chat with your own data.
## Prerequisites
* [An OpenAI API key](https://platform.openai.com/)
* [An Astra DB vector database](https://docs.datastax.com/en/astra-db-serverless/get-started/quickstart.html) with:
- * AstraDB application token
- * API endpoint
+ * An AstraDB application token
* [A collection in Astra](https://docs.datastax.com/en/astra-db-serverless/databases/manage-collections.html#create-collection)
## Open Langflow and start a new project
@@ -48,7 +49,7 @@ You should now have a flow that looks like this:

With no connections between them, the components won't interact with each other.
-You want data to flow from **Chat Input** to **Chat Output** via the connectors between the components.
+You want data to flow from **Chat Input** to **Chat Output** through the connections between the components.
Each component accepts inputs on its left side, and sends outputs on its right side.
Hover over the connection ports to see the data types that the component accepts.
For more on component inputs and outputs, see [Components overview](/concepts-components).
@@ -67,7 +68,7 @@ Add your OpenAI API key to the OpenAI model component, and add a prompt to the P
1. Add your credentials to the OpenAI component. The fastest way to complete these fields is with Langflow’s [Global Variables](/configuration-global-variables).
- 1. In the OpenAI component’s OpenAI API Key field, click the language Globe icon, and then click **Add New Variable**.
+ 1. In the OpenAI component’s OpenAI API Key field, click the **Globe** button, and then click **Add New Variable**.
Alternatively, click your username in the top right corner, and then click **Settings**, **Global Variables**, and then **Add New**.
2. Name your variable. Paste your OpenAI API key (sk-…) in the Value field.
3. In the **Apply To Fields** field, select the OpenAI API Key field to apply this variable to all OpenAI Embeddings components.
@@ -131,9 +132,12 @@ The [OpenAI Embeddings](/components-embedding-models#openai-embeddings) componen
8. Configure the **Astra DB** component.
1. In the **Astra DB Application Token** field, add your **Astra DB** application token.
- 2. In the **API Endpoint** field, add your **Astra DB** API endpoint. This value is found in your [Astra DB deployment](https://astra.datastax.com) and looks similar to `https://ASTRA_DB_ID-ASTRA_DB_REGION.apps.astra.datastax.com`.
- 3. In the **Collection** field, enter your Astra DB collection's name. Collections are created in your [Astra DB deployment](https://astra.datastax.com) for storing vector data. The collection’s **Dimensions** value must match the dimensions of the **OpenAI Embeddings Model**. If you’re unsure, enter `1536` and select the `text-embedding-ada-002` model in the OpenAI Embeddings component. For more on collections, see the [DataStax Astra DB Serverless documentation](https://docs.datastax.com/en/astra-db-serverless/databases/manage-collections.html#create-collection).
+ The component connects to your database and populates the menus with existing databases and collections.
+ 2. Select your **Database**.
+ 3. Select your **Collection**. Collections are created in your [Astra DB deployment](https://astra.datastax.com) for storing vector data.
+ If you don't have a collection, see the [DataStax Astra DB Serverless documentation](https://docs.datastax.com/en/astra-db-serverless/databases/manage-collections.html#create-collection).
4. Select **Embedding Model** to bring your own embeddings model, which is the connected **OpenAI Embeddings** component.
+ The **Dimensions** value must match the dimensions of your collection. This value can be found in your **Collection** in your [Astra DB deployment](https://astra.datastax.com).
If you used Langflow's **Global Variables** feature, the RAG application flow components are already configured with the necessary credentials.
diff --git a/docs/docs/Starter-Projects/starter-projects-basic-prompting.md b/docs/docs/Starter-Projects/starter-projects-basic-prompting.md
index 04fad824a..154f42d82 100644
--- a/docs/docs/Starter-Projects/starter-projects-basic-prompting.md
+++ b/docs/docs/Starter-Projects/starter-projects-basic-prompting.md
@@ -1,62 +1,56 @@
---
-title: Basic Prompting
+title: Basic prompting
slug: /starter-projects-basic-prompting
---
-
+import Icon from "@site/src/components/icon";
Prompts serve as the inputs to a large language model (LLM), acting as the interface between human instructions and computational tasks.
-
By submitting natural language requests in a prompt to an LLM, you can obtain answers, generate text, and solve problems.
-
This article demonstrates how to use Langflow's prompt tools to issue basic prompts to an LLM, and how various prompting strategies can affect your outcomes.
-## Prerequisites {#20bd7bc51ce04e2fb4922c95f00870d3}
-
-
----
+## Prerequisites
- [Langflow installed and running](/get-started-installation)
- [OpenAI API key created](https://platform.openai.com/)
-## Create the basic prompting flow {#19d5305239c841548a695e2bf7839e7a}
-
+## Create the basic prompting flow
1. From the Langflow dashboard, click **New Flow**.
-
2. Select **Basic Prompting**.
-
3. The **Basic Prompting** flow is created.

-This flow allows you to chat with the **OpenAI** component through the **Prompt** component.
+This flow allows you to chat with the **OpenAI model** component.
+The model will respond according to the prompt constructed in the **Prompt** component.
+4. To examine the **Template**, in the **Prompt** component, click the **Template** field.
-Examine the **Prompt** component. The **Template** field instructs the LLM to `Answer the user as if you were a pirate.` This should be interesting...
+```plain
+Answer the user as if you were a GenAI expert, enthusiastic about helping them get started building something fresh.
+```
-
-4. To create an environment variable for the **OpenAI** component, in the **OpenAI API Key** field, click the **Globe** button, and then click **Add New Variable**.
+5. To create an environment variable for the **OpenAI** component, in the **OpenAI API Key** field, click the **Globe** button, and then click **Add New Variable**.
1. In the **Variable Name** field, enter `openai_api_key`.
2. In the **Value** field, paste your OpenAI API Key (`sk-...`).
3. Click **Save Variable**.
+## Run the basic prompting flow
-## Run the basic prompting flow {#ce52f8e6b491452a9dfb069feb962eed}
-
-1. Click the **Playground** button on the control panel (bottom right side of the workspace). This is where you can interact with your AI.
+1. Click the **Playground** button.
2. Type a message and press Enter. The bot should respond in a markedly piratical manner!
-## Modify the prompt for a different result {#3ab045fcbe774c8fb3adc528f9042ba0}
+## Modify the prompt for a different result
-1. To modify your prompt results, in the **Prompt** template, click the **Template** field. The **Edit Prompt** window opens.
-2. Change `Answer the user as if you were a pirate` to a different character, perhaps `Answer the user as if you were Hermione Granger.`
-3. Run the workflow again. The response will be markedly different.
+1. To modify your prompt results, in the **Prompt** component, click the **Template** field. The **Edit Prompt** window opens.
+2. Change the existing prompt to a different character, perhaps `Answer the user as if you were Hermione Granger.`
+3. Run the workflow again and notice how the prompt changes the model's response.
diff --git a/docs/docs/Starter-Projects/starter-projects-simple-agent.md b/docs/docs/Starter-Projects/starter-projects-simple-agent.md
index 882446cad..2f580711c 100644
--- a/docs/docs/Starter-Projects/starter-projects-simple-agent.md
+++ b/docs/docs/Starter-Projects/starter-projects-simple-agent.md
@@ -3,11 +3,12 @@ title: Simple agent
slug: /starter-projects-simple-agent
---
-Build a **Simple Agent** flow for an agentic application using the Tool-calling agent.
+Build a **Simple Agent** flow for an agentic application using the **Tool-calling agent** component.
An **agent** uses an LLM as its "brain" to select among the connected tools and complete its tasks.
-In this flow, the **Tool-calling agent** reasons using an **Open AI** LLM to solve math problems. It will select the **Calculator** tool for simpler math, and the **Python REPL** tool (with the Python `math` library) for more complex problems.
+In this flow, the **Tool-calling agent** reasons using an **Open AI** LLM.
+The agent selects the **Calculator** tool for simple math problems and the **URL** tool to search a URL for content.
## Prerequisites
@@ -21,12 +22,12 @@ This opens a starter flow with the necessary components to run an agentic applic
## Simple Agent flow
-
+
The **Simple Agent** flow consists of these components:
* The **Tool calling agent** component uses the connected LLM to reason through the user's input and select among the connected tools to complete its task.
-* The **Python REPL tool** component executes Python code in a REPL (Read-Evaluate-Print Loop) interpreter.
+* The **URL** tool component searches a list of URLs for content.
* The **Calculator** component performs basic arithmetic operations.
* The **Chat Input** component accepts user input to the chat.
* The **Prompt** component combines the user input with a user-defined prompt.
@@ -36,22 +37,30 @@ The **Simple Agent** flow consists of these components:
## Run the Simple Agent flow
1. Add your credentials to the Open AI component.
-2. In the **Chat output** component, click ▶️ Play to start the end-to-end application flow.
- A **Chat output built successfully** message and a ✅ Check on all components indicate that the flow ran successfully.
-3. Click **Playground** to start a chat session.
-4. Enter a simple math problem, like `2 + 2`, and then make sure the bot responds with the correct answer.
-5. To confirm the REPL interpreter is working, prompt the `math` library directly with `math.sqrt(4)` and see if the bot responds with `4`.
-6. The agent will also reason through more complex word problems. For example, prompt the agent with the following math problem:
+2. Click **Playground** to start a chat session.
+3. To confirm the tools are connected, ask the agent, `What tools are available to you?`
+The response is similar to the following:
+```plain
+I have access to the following tools:
+Calculator: Perform basic arithmetic operations.
+fetch_content: Load and retrieve data from specified URLs.
+fetch_content_text: Load and retrieve text data from specified URLs.
+as_dataframe: Load and retrieve data in a structured format (dataframe) from specified URLs.
+get_current_date: Returns the current date and time in a selected timezone.
+```
+4. Ask the agent a question. For example, ask it to create a tabletop character using your favorite rules set.
+The agent will tell you when it's using the `URL-fetch_content_text` tool to search for rules information, and when it's using `CalculatorComponent-evaluate_expression` to generate attributes with dice rolls.
+The final output should be similar to this:
```plain
-The equation 24x2+25x−47ax−2=−8x−3−53ax−2 is true for all values of x≠2a, where a is a constant.
-What is the value of a?
-A) -16
-B) -3
-C) 3
-D) 16
+Final Attributes
+Strength (STR): 10
+Constitution (CON): 12
+Size (SIZ): 14
+Dexterity (DEX): 9
+Intelligence (INT): 11
+Power (POW): 13
+Charisma (CHA): 8
```
-The agent should respond with `B`.
-
Now that your query has completed the journey from **Chat input** to **Chat output**, you have completed the **Simple Agent** flow.
diff --git a/docs/docs/Starter-Projects/starter-projects-vector-store-rag.md b/docs/docs/Starter-Projects/starter-projects-vector-store-rag.md
index cc6298159..9bdecfc6e 100644
--- a/docs/docs/Starter-Projects/starter-projects-vector-store-rag.md
+++ b/docs/docs/Starter-Projects/starter-projects-vector-store-rag.md
@@ -1,9 +1,9 @@
---
-title: Vector Store RAG
+title: Vector store RAG
slug: /starter-projects-vector-store-rag
---
-
+import Icon from "@site/src/components/icon";
Retrieval Augmented Generation, or RAG, is a pattern for training LLMs on your data and querying it.
@@ -17,65 +17,55 @@ This enables **vector search**, a more powerful and context-aware search.
We've chosen [Astra DB](https://astra.datastax.com/signup?utm_source=langflow-pre-release&utm_medium=referral&utm_campaign=langflow-announcement&utm_content=create-a-free-astra-db-account) as the vector database for this starter flow, but you can follow along with any of Langflow's vector database options.
-## Prerequisites {#6aa2c6dff6894eccadc39d4903d79e66}
+## Prerequisites
+
+* [An OpenAI API key](https://platform.openai.com/)
+* [An Astra DB vector database](https://docs.datastax.com/en/astra-db-serverless/get-started/quickstart.html) with:
+ * An Astra DB application token
+ * [A collection in Astra](https://docs.datastax.com/en/astra-db-serverless/databases/manage-collections.html#create-collection)
----
-
-- [Langflow installed and running](https://docs.langflow.org/get-started-installation)
-- [OpenAI API key](https://platform.openai.com/)
-- [An Astra DB vector database created](https://docs.datastax.com/en/astra-db-serverless/get-started/quickstart.html) with:
- - Application Token
- - API Endpoint
-
-
-## Create the vector store RAG flow
+## Open Langflow and start a new project
1. From the Langflow dashboard, click **New Flow**.
2. Select **Vector Store RAG**.
3. The **Vector Store RAG** flow is created.
-
-
+## Build the vector RAG flow
The vector store RAG flow is built of two separate flows for ingestion and query.
+
-The **ingestion** part (bottom of the screen) populates the vector store with data from a local file. It ingests data from a file (**File**), splits it into chunks (**Split Text**), indexes it in Astra DB (**Astra DB**), and computes embeddings for the chunks using an embedding model (**OpenAI Embeddings**).
+The **Load Data Flow** (bottom of the screen) creates a searchable index to be queried for contextual similarity.
+This flow populates the vector store with data from a local file.
+It ingests data from a local file, splits it into chunks, indexes it in Astra DB, and computes embeddings for the chunks using the OpenAI embeddings model.
+The **Retriever Flow** (top of the screen) embeds the user's queries into vectors, which are compared to the vector store data from the **Load Data Flow** for contextual similarity.
-:::tip
+- **Chat Input** receives user input from the **Playground**.
+- **OpenAI Embeddings** converts the user query into vector form.
+- **Astra DB** performs similarity search using the query vector.
+- **Parse Data** processes the retrieved chunks.
+- **Prompt** combines the user query with relevant context.
+- **OpenAI** generates the response using the prompt.
+- **Chat Output** returns the response to the **Playground**.
-Embeddings are numerical vectors that represent data meaningfully. They enable efficient similarity searches in vector stores by placing similar items close together in the vector space, enhancing search and recommendation tasks.
-
-:::
-
-
-
-
-This part creates a searchable index to be queried for contextual similarity.
-
-
-The **query** part (top of the screen) allows users to retrieve embedded vector store data. Components:
-
-- **Chat Input** defines where to send the user input (coming from the Playground).
-- **OpenAI Embeddings** is the model used to generate embeddings from the user input.
-- **Astra DB** retrieves the most relevant chunks from the Astra DB database (here, used for search, not ingestion).
-- **Parse Data** converts chunks coming from the **Astra DB** component into plain text to feed a prompt.
-- **Prompt** takes in the user input and the retrieved chunks as text and builds a prompt for the model.
-- **OpenAI** takes in the prompt to generate a response.
-- **Chat Output** component displays the response in the Playground.
-1. To create an environment variable for the **OpenAI** component, in the **OpenAI API Key** field, click the **Globe** button, and then click **Add New Variable**.
- 1. In the **Variable Name** field, enter `openai_api_key`.
- 2. In the **Value** field, paste your OpenAI API Key (`sk-...`).
- 3. Click **Save Variable**.
-1. To create environment variables for the **Astra DB** and **Astra DB Search** components:
- 1. In the **Token** field, click the **Globe** button, and then click **Add New Variable**.
- 2. In the **Variable Name** field, enter `astra_token`.
- 3. In the **Value** field, paste your Astra application token (`AstraCS:WSnyFUhRxsrg…`).
+1. Configure the **OpenAI** model component.
+ 1. To create a global variable for the **OpenAI** component, in the **OpenAI API Key** field, click the **Globe** button, and then click **Add New Variable**.
+ 2. In the **Variable Name** field, enter `openai_api_key`.
+ 3. In the **Value** field, paste your OpenAI API Key (`sk-...`).
4. Click **Save Variable**.
- 5. Repeat the above steps for the **API Endpoint** field, pasting your Astra API Endpoint instead (`https://ASTRA_DB_ID-ASTRA_DB_REGION.apps.astra.datastax.com`).
- 6. Add the global variable to both the **Astra DB** and **Astra DB Search** components.
+2. Configure the **Astra DB** component.
+ 1. In the **Astra DB Application Token** field, add your **Astra DB** application token.
+ The component connects to your database and populates the menus with existing databases and collections.
+ 2. Select your **Database**.
+ 3. Select your **Collection**. Collections are created in your [Astra DB deployment](https://astra.datastax.com) for storing vector data.
+ If you don't have a collection, see the [DataStax Astra DB Serverless documentation](https://docs.datastax.com/en/astra-db-serverless/databases/manage-collections.html#create-collection).
+ 4. Select **Embedding Model** to bring your own embeddings model, which is the connected **OpenAI Embeddings** component.
+ The **Dimensions** value must match the dimensions of your collection. You can find this value in the **Collection** in your [Astra DB deployment](https://astra.datastax.com).
+
+If you used Langflow's **Global Variables** feature, the RAG application flow components are already configured with the necessary credentials.
## Run the Vector Store RAG flow
diff --git a/docs/docs/Tutorials/tutorials-blog-writer.md b/docs/docs/Tutorials/tutorials-blog-writer.md
index a9015b1d3..3485b59af 100644
--- a/docs/docs/Tutorials/tutorials-blog-writer.md
+++ b/docs/docs/Tutorials/tutorials-blog-writer.md
@@ -1,5 +1,5 @@
---
-title: Blog Writer
+title: Blog writer
slug: /tutorials-blog-writer
---
diff --git a/docs/docs/Tutorials/tutorials-math-agent.md b/docs/docs/Tutorials/tutorials-math-agent.md
new file mode 100644
index 000000000..857df25ae
--- /dev/null
+++ b/docs/docs/Tutorials/tutorials-math-agent.md
@@ -0,0 +1,56 @@
+---
+title: Math agent
+slug: /tutorials-math-agent
+---
+
+import Icon from "@site/src/components/icon";
+
+Build a **Math Agent** flow for an agentic application using the **Tool-calling agent** component.
+
+In this flow, the **Tool-calling agent** reasons using an **Open AI** LLM to solve math problems.
+It selects the **Calculator** tool for simpler math and the **Python REPL** tool (with the Python `math` library) for more complex problems.
+
+## Prerequisites
+
+To use this flow, you need an OpenAI API key.
+
+## Open Langflow and start a new flow
+
+Click **New Flow**, and then select the **Math Agent** flow.
+
+This opens a starter flow with the necessary components to run an agentic application using the Tool-calling agent.
+
+## Math Agent flow
+
+
+
+The **Math Agent** flow consists of these components:
+
+* The **Tool calling agent** component uses the connected LLM to reason through the user's input and select among the connected tools to complete its task.
+* The **Python REPL tool** component executes Python code in a REPL (Read-Evaluate-Print Loop) interpreter.
+* The **Calculator** component performs basic arithmetic operations.
+* The **Chat Input** component accepts user input to the chat.
+* The **Prompt** component combines the user input with a user-defined prompt.
+* The **Chat Output** component prints the flow's output to the chat.
+* The **OpenAI** model component sends the user input and prompt to the OpenAI API and receives a response.
+
+## Run the Math Agent flow
+
+1. Add your credentials to the Open AI component.
+2. Click **Playground** to start a chat session.
+3. Enter a simple math problem, like `2 + 2`, and then make sure the bot responds with the correct answer.
+4. To confirm the REPL interpreter is working, prompt the `math` library directly with `math.sqrt(4)` and see if the bot responds with `4`.
+5. The agent will also reason through more complex word problems. For example, prompt the agent with the following math problem:
+
+```plain
+The equation 24x2+25x−47ax−2=−8x−3−53ax−2 is true for all values of x≠2a, where a is a constant.
+What is the value of a?
+A) -16
+B) -3
+C) 3
+D) 16
+```
+
+The agent should respond with `B`.
+
+Now that your query has completed the journey from **Chat input** to **Chat output**, you have completed the **Math Agent** flow.
diff --git a/docs/docs/Tutorials/tutorials-memory-chatbot.md b/docs/docs/Tutorials/tutorials-memory-chatbot.md
index a9818bf42..17f0702db 100644
--- a/docs/docs/Tutorials/tutorials-memory-chatbot.md
+++ b/docs/docs/Tutorials/tutorials-memory-chatbot.md
@@ -1,13 +1,13 @@
---
-title: Memory Chatbot
+title: Memory chatbot
slug: /tutorials-memory-chatbot
---
-This flow extends the [basic prompting](/starter-projects-basic-prompting) flow to include a chat memory. This makes the AI remember previous user inputs.
+import Icon from "@site/src/components/icon";
-## Prerequisites {#a71d73e99b1543bbba827207503cf31f}
+This flow extends the [basic prompting flow](/starter-projects-basic-prompting) with a **Chat memory** component that stores up to 100 previous chat messages and uses them to provide context for the current conversation.
----
+## Prerequisites
- [Langflow installed and running](/get-started-installation)
- [OpenAI API key created](https://platform.openai.com/)
@@ -20,31 +20,49 @@ This flow extends the [basic prompting](/starter-projects-basic-prompting) flo

-This flow uses the same components as the Basic Prompting one, but extends it with a **Chat Memory** component. This component retrieves previous messages and sends them to the **Prompt** component to fill a part of the **Template** with context.
+This flow adds a **Chat Memory** component to the Basic Prompting flow.
+This component retrieves previous messages and sends them to the **Prompt** component to fill a part of the **Template** with context.
-By clicking the template, you'll see the prompt editor like below:
+To examine the template, click the **Template** field in the **Prompt** component.
+The **Prompt** tells the **OpenAI model** component how to respond to input.
+
+```plain
+You are a helpful assistant that answers questions.
+
+Use markdown to format your answer, properly embedding images and urls.
+
+History:
+
+{memory}
+```
+
+The `{memory}` code in the prompt creates a new input port in the component called **memory**.
+The **Chat Memory** component is connected to this port to store chat messages from the **Playground**.
This gives the **OpenAI** component a memory of previous chat messages.
## Run the memory chatbot flow
-1. Open the Playground.
-2. Type multiple questions. In the **Memories** tab, your queries are logged in order. Up to 100 queries are stored by default. Try telling the AI your name and asking `What is my name?` on a second message, or `What is the first subject I asked you about?` to validate that previous knowledge is taking effect.
+1. Open the **Playground**.
+2. Type multiple questions. For example, try entering this conversation:
-:::tip
-
-Check and adjust advanced parameters by opening the Advanced Settings of the **Chat Memory** component.
-
-:::
+```plain
+Hi, my name is Luca.
+Please tell me about PostgreSQL.
+What is my name?
+What is the second subject I asked you about?
+```
+The chatbot remembers your name and previous questions.
+3. To view the **Message Logs** pane, click , and then click **Message Logs**.
+The **Message Logs** pane displays all previous messages, with each conversation sorted by `session_id`.
+
## Use Session ID with the memory chatbot flow
----
-
-`SessionID` is a unique identifier in Langflow that stores conversation sessions between the AI and a user. A `SessionID` is created when a conversation is initiated, and then associated with all subsequent messages during that session.
+`session_id` is a unique identifier in Langflow that stores conversation sessions between the AI and a user. A `session_id` is created when a conversation is initiated, and then associated with all subsequent messages during that session.
In the **Memory Chatbot** flow you created, the **Chat Memory** component references past interactions by **Session ID**. You can demonstrate this by modifying the **Session ID** value to switch between conversation histories.
@@ -52,10 +70,4 @@ In the **Memory Chatbot** flow you created, the **Chat Memory** component re
2. Now, once you send a new message the **Playground**, you should have a new memory created on the **Memories** tab.
3. Notice how your conversation is being stored in different memory sessions.
-:::tip
-
-Every chat component in Langflow comes with a `SessionID`. It defaults to the flow ID. Explore how changing it affects what the AI remembers.
-
-:::
-
-Learn more about memories in the [Memory](/components-memories) section.
+Learn more about chat memories in the [Memory](/components-memories) section.
diff --git a/docs/docs/Tutorials/tutorials-travel-planning-agent.md b/docs/docs/Tutorials/tutorials-travel-planning-agent.md
index 87b48a541..373332305 100644
--- a/docs/docs/Tutorials/tutorials-travel-planning-agent.md
+++ b/docs/docs/Tutorials/tutorials-travel-planning-agent.md
@@ -39,9 +39,7 @@ The **Travel Planning Agent** flow consists of these components:
## Run the travel planning agent flow
1. Add your credentials to the Open AI and Search API components.
-2. In the **Chat output** component, click ▶️ Play to start the end-to-end application flow.
- A **Chat output built successfully** message and a ✅ Check on all components indicate that the flow ran successfully.
-3. Click **Playground** to start a chat session.
- You should receive a detailed, helpful answer to the journey defined in the **Chat input** component.
+2. Click **Playground** to start a chat session.
+You should receive a detailed, helpful answer to the journey defined in the **Chat input** component.
Now that your query has completed the journey from **Chat input** to **Chat output**, you have completed the **Travel Planning Agent** flow.
diff --git a/docs/docusaurus.config.js b/docs/docusaurus.config.js
index 09113abfd..eb1cac74b 100644
--- a/docs/docusaurus.config.js
+++ b/docs/docusaurus.config.js
@@ -145,8 +145,11 @@ const config = {
],
},
{
- to: "/configuration-objects",
- from: "/guides-data-message",
+ to: "/concepts-objects",
+ from: [
+ "/guides-data-message",
+ "/configuration-objects",
+ ]
},
{
to: "/tutorials-sequential-agent",
diff --git a/docs/openapi.json b/docs/openapi.json
index 7ea32adf8..b5a8b3635 100644
--- a/docs/openapi.json
+++ b/docs/openapi.json
@@ -1,5 +1,5 @@
{
- "openapi": "3.1.0",
+ "openapi": "3.0.2",
"info": {
"title": "Langflow",
"version": "1.1.1"
@@ -32,12 +32,10 @@
"anyOf": [
{
"$ref": "#/components/schemas/FlowDataRequest"
- },
- {
- "type": "null"
}
],
- "title": "Data"
+ "title": "Data",
+ "nullable": true
}
},
{
@@ -48,12 +46,10 @@
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Stop Component Id"
+ "title": "Stop Component Id",
+ "nullable": true
}
},
{
@@ -64,12 +60,10 @@
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Start Component Id"
+ "title": "Start Component Id",
+ "nullable": true
}
}
],
@@ -134,12 +128,10 @@
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Stop Component Id"
+ "title": "Stop Component Id",
+ "nullable": true
}
},
{
@@ -150,12 +142,10 @@
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Start Component Id"
+ "title": "Start Component Id",
+ "nullable": true
}
},
{
@@ -166,13 +156,11 @@
"anyOf": [
{
"type": "boolean"
- },
- {
- "type": "null"
}
],
"default": true,
- "title": "Log Builds"
+ "title": "Log Builds",
+ "nullable": true
}
}
],
@@ -361,7 +349,7 @@
"tags": [
"Base"
],
- "summary": "Run Flow",
+ "summary": "Simplified Run Flow",
"description": "Executes a specified flow by ID with support for streaming and telemetry.\n\nThis endpoint executes a flow identified by ID or name, with options for streaming the response\nand tracking execution metrics. It handles both streaming and non-streaming execution modes.\n\nArgs:\n background_tasks (BackgroundTasks): FastAPI background task manager\n flow (FlowRead | None): The flow to execute, loaded via dependency\n input_request (SimplifiedAPIRequest | None): Input parameters for the flow\n stream (bool): Whether to stream the response\n api_key_user (UserRead): Authenticated user from API key\n request (Request): The incoming HTTP request\n\nReturns:\n Union[StreamingResponse, RunResponse]: Either a streaming response for real-time results\n or a RunResponse with the complete execution results\n\nRaises:\n HTTPException: For flow not found (404) or invalid input (400)\n APIException: For internal execution errors (500)\n\nNotes:\n - Supports both streaming and non-streaming execution modes\n - Tracks execution time and success/failure via telemetry\n - Handles graceful client disconnection in streaming mode\n - Provides detailed error handling with appropriate HTTP status codes\n - In streaming mode, uses EventManager to handle events:\n - \"add_message\": New messages during execution\n - \"token\": Individual tokens during streaming\n - \"end\": Final execution result",
"operationId": "simplified_run_flow_api_v1_run__flow_id_or_name__post",
"security": [
@@ -404,12 +392,10 @@
{
"type": "string",
"format": "uuid"
- },
- {
- "type": "null"
}
],
- "title": "User Id"
+ "title": "User Id",
+ "nullable": true
}
}
],
@@ -420,12 +406,10 @@
"anyOf": [
{
"$ref": "#/components/schemas/SimplifiedAPIRequest"
- },
- {
- "type": "null"
}
],
- "title": "Input Request"
+ "title": "Input Request",
+ "nullable": true
}
}
}
@@ -482,12 +466,10 @@
{
"type": "string",
"format": "uuid"
- },
- {
- "type": "null"
}
],
- "title": "User Id"
+ "title": "User Id",
+ "nullable": true
}
}
],
@@ -1087,12 +1069,10 @@
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Component Id"
+ "title": "Component Id",
+ "nullable": true
}
},
{
@@ -1103,12 +1083,10 @@
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Search"
+ "title": "Search",
+ "nullable": true
}
},
{
@@ -1119,12 +1097,10 @@
"anyOf": [
{
"type": "boolean"
- },
- {
- "type": "null"
}
],
- "title": "Private"
+ "title": "Private",
+ "nullable": true
}
},
{
@@ -1135,12 +1111,10 @@
"anyOf": [
{
"type": "boolean"
- },
- {
- "type": "null"
}
],
- "title": "Is Component"
+ "title": "Is Component",
+ "nullable": true
}
},
{
@@ -1154,12 +1128,10 @@
"items": {
"type": "string"
}
- },
- {
- "type": "null"
}
],
- "title": "Tags"
+ "title": "Tags",
+ "nullable": true
}
},
{
@@ -1173,12 +1145,10 @@
"items": {
"type": "string"
}
- },
- {
- "type": "null"
}
],
- "title": "Sort"
+ "title": "Sort",
+ "nullable": true
}
},
{
@@ -1212,12 +1182,10 @@
"items": {
"type": "string"
}
- },
- {
- "type": "null"
}
],
- "title": "Fields"
+ "title": "Fields",
+ "nullable": true
}
},
{
@@ -1605,12 +1573,10 @@
{
"type": "string",
"format": "uuid"
- },
- {
- "type": "null"
}
],
- "title": "Folder Id"
+ "title": "Folder Id",
+ "nullable": true
}
},
{
@@ -1997,12 +1963,10 @@
{
"type": "string",
"format": "uuid"
- },
- {
- "type": "null"
}
],
- "title": "Folder Id"
+ "title": "Folder Id",
+ "nullable": true
}
}
],
@@ -3368,12 +3332,10 @@
{
"type": "string",
"format": "uuid"
- },
- {
- "type": "null"
}
],
- "title": "Flow Id"
+ "title": "Flow Id",
+ "nullable": true
}
},
{
@@ -3384,12 +3346,10 @@
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Session Id"
+ "title": "Session Id",
+ "nullable": true
}
},
{
@@ -3400,12 +3360,10 @@
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Sender"
+ "title": "Sender",
+ "nullable": true
}
},
{
@@ -3416,12 +3374,10 @@
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Sender Name"
+ "title": "Sender Name",
+ "nullable": true
}
},
{
@@ -3432,13 +3388,11 @@
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
"default": "timestamp",
- "title": "Order By"
+ "title": "Order By",
+ "nullable": true
}
}
],
@@ -3908,12 +3862,10 @@
"anyOf": [
{
"type": "integer"
- },
- {
- "type": "null"
}
],
- "title": "Page"
+ "title": "Page",
+ "nullable": true
}
},
{
@@ -3924,12 +3876,10 @@
"anyOf": [
{
"type": "integer"
- },
- {
- "type": "null"
}
],
- "title": "Size"
+ "title": "Size",
+ "nullable": true
}
}
],
@@ -4399,24 +4349,20 @@
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Name"
+ "title": "Name",
+ "nullable": true
},
"last_used_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
- },
- {
- "type": "null"
}
],
- "title": "Last Used At"
+ "title": "Last Used At",
+ "nullable": true
},
"total_uses": {
"type": "integer",
@@ -4432,36 +4378,30 @@
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Api Key"
+ "title": "Api Key",
+ "nullable": true
},
"user_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
- },
- {
- "type": "null"
}
],
- "title": "User Id"
+ "title": "User Id",
+ "nullable": true
},
"created_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
- },
- {
- "type": "null"
}
],
- "title": "Created At"
+ "title": "Created At",
+ "nullable": true
}
},
"type": "object",
@@ -4486,24 +4426,20 @@
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Name"
+ "title": "Name",
+ "nullable": true
},
"last_used_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
- },
- {
- "type": "null"
}
],
- "title": "Last Used At"
+ "title": "Last Used At",
+ "nullable": true
},
"total_uses": {
"type": "integer",
@@ -4582,21 +4518,17 @@
"anyOf": [
{
"$ref": "#/components/schemas/InputValueRequest"
- },
- {
- "type": "null"
}
- ]
+ ],
+ "nullable": true
},
"data": {
"anyOf": [
{
"$ref": "#/components/schemas/FlowDataRequest"
- },
- {
- "type": "null"
}
- ]
+ ],
+ "nullable": true
},
"files": {
"anyOf": [
@@ -4605,12 +4537,10 @@
"type": "string"
},
"type": "array"
- },
- {
- "type": "null"
}
],
- "title": "Files"
+ "title": "Files",
+ "nullable": true
}
},
"type": "object",
@@ -4622,11 +4552,9 @@
"anyOf": [
{
"$ref": "#/components/schemas/InputValueRequest"
- },
- {
- "type": "null"
}
- ]
+ ],
+ "nullable": true
},
"files": {
"anyOf": [
@@ -4635,12 +4563,10 @@
"type": "string"
},
"type": "array"
- },
- {
- "type": "null"
}
],
- "title": "Files"
+ "title": "Files",
+ "nullable": true
}
},
"type": "object",
@@ -4669,12 +4595,10 @@
"$ref": "#/components/schemas/InputValueRequest"
},
"type": "array"
- },
- {
- "type": "null"
}
],
- "title": "Inputs"
+ "title": "Inputs",
+ "nullable": true
},
"outputs": {
"anyOf": [
@@ -4683,22 +4607,18 @@
"type": "string"
},
"type": "array"
- },
- {
- "type": "null"
}
],
- "title": "Outputs"
+ "title": "Outputs",
+ "nullable": true
},
"tweaks": {
"anyOf": [
{
"$ref": "#/components/schemas/Tweaks"
- },
- {
- "type": "null"
}
- ]
+ ],
+ "nullable": true
},
"stream": {
"type": "boolean",
@@ -4709,12 +4629,10 @@
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Session Id"
+ "title": "Session Id",
+ "nullable": true
}
},
"type": "object",
@@ -4727,12 +4645,10 @@
{
"type": "string",
"pattern": "password"
- },
- {
- "type": "null"
}
],
- "title": "Grant Type"
+ "title": "Grant Type",
+ "nullable": true
},
"username": {
"type": "string",
@@ -4751,23 +4667,19 @@
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Client Id"
+ "title": "Client Id",
+ "nullable": true
},
"client_secret": {
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Client Secret"
+ "title": "Client Secret",
+ "nullable": true
}
},
"type": "object",
@@ -4846,58 +4758,48 @@
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
"title": "Sender",
- "default": "Machine"
+ "default": "Machine",
+ "nullable": true
},
"sender_name": {
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
"title": "Sender Name",
- "default": "AI"
+ "default": "AI",
+ "nullable": true
},
"session_id": {
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Session Id"
+ "title": "Session Id",
+ "nullable": true
},
"stream_url": {
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Stream Url"
+ "title": "Stream Url",
+ "nullable": true
},
"component_id": {
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Component Id"
+ "title": "Component Id",
+ "nullable": true
},
"files": {
"items": {
@@ -5016,12 +4918,10 @@
"type": "string"
},
"type": "array"
- },
- {
- "type": "null"
}
],
- "title": "Media Url"
+ "title": "Media Url",
+ "nullable": true
}
},
"type": "object",
@@ -5056,12 +4956,10 @@
"anyOf": [
{
"type": "object"
- },
- {
- "type": "null"
}
],
- "title": "Frontend Node"
+ "title": "Frontend Node",
+ "nullable": true
}
},
"type": "object",
@@ -5099,57 +4997,47 @@
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Name"
+ "title": "Name",
+ "nullable": true
},
"description": {
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Description"
+ "title": "Description",
+ "nullable": true
},
"data": {
"anyOf": [
{
"type": "object"
- },
- {
- "type": "null"
}
],
- "title": "Data"
+ "title": "Data",
+ "nullable": true
},
"is_component": {
"anyOf": [
{
"type": "boolean"
- },
- {
- "type": "null"
}
],
- "title": "Is Component"
+ "title": "Is Component",
+ "nullable": true
},
"metadata": {
"anyOf": [
{
"type": "object"
- },
- {
- "type": "null"
}
],
"title": "Metadata",
- "default": {}
+ "default": {},
+ "nullable": true
}
},
"type": "object",
@@ -5262,104 +5150,86 @@
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Description"
+ "title": "Description",
+ "nullable": true
},
"icon": {
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Icon"
+ "title": "Icon",
+ "nullable": true
},
"icon_bg_color": {
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Icon Bg Color"
+ "title": "Icon Bg Color",
+ "nullable": true
},
"gradient": {
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Gradient"
+ "title": "Gradient",
+ "nullable": true
},
"data": {
"anyOf": [
{
"type": "object"
- },
- {
- "type": "null"
}
],
- "title": "Data"
+ "title": "Data",
+ "nullable": true
},
"is_component": {
"anyOf": [
{
"type": "boolean"
- },
- {
- "type": "null"
}
],
"title": "Is Component",
- "default": false
+ "default": false,
+ "nullable": true
},
"updated_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
- },
- {
- "type": "null"
}
],
- "title": "Updated At"
+ "title": "Updated At",
+ "nullable": true
},
"webhook": {
"anyOf": [
{
"type": "boolean"
- },
- {
- "type": "null"
}
],
"title": "Webhook",
"description": "Can be used on the webhook endpoint",
- "default": false
+ "default": false,
+ "nullable": true
},
"endpoint_name": {
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Endpoint Name"
+ "title": "Endpoint Name",
+ "nullable": true
},
"tags": {
"anyOf": [
@@ -5368,25 +5238,21 @@
"type": "string"
},
"type": "array"
- },
- {
- "type": "null"
}
],
"title": "Tags",
- "default": []
+ "default": [],
+ "nullable": true
},
"locked": {
"anyOf": [
{
"type": "boolean"
- },
- {
- "type": "null"
}
],
"title": "Locked",
- "default": false
+ "default": false,
+ "nullable": true
},
"id": {
"type": "string",
@@ -5398,24 +5264,20 @@
{
"type": "string",
"format": "uuid"
- },
- {
- "type": "null"
}
],
- "title": "User Id"
+ "title": "User Id",
+ "nullable": true
},
"folder_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
- },
- {
- "type": "null"
}
],
- "title": "Folder Id"
+ "title": "Folder Id",
+ "nullable": true
}
},
"type": "object",
@@ -5435,104 +5297,86 @@
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Description"
+ "title": "Description",
+ "nullable": true
},
"icon": {
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Icon"
+ "title": "Icon",
+ "nullable": true
},
"icon_bg_color": {
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Icon Bg Color"
+ "title": "Icon Bg Color",
+ "nullable": true
},
"gradient": {
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Gradient"
+ "title": "Gradient",
+ "nullable": true
},
"data": {
"anyOf": [
{
"type": "object"
- },
- {
- "type": "null"
}
],
- "title": "Data"
+ "title": "Data",
+ "nullable": true
},
"is_component": {
"anyOf": [
{
"type": "boolean"
- },
- {
- "type": "null"
}
],
"title": "Is Component",
- "default": false
+ "default": false,
+ "nullable": true
},
"updated_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
- },
- {
- "type": "null"
}
],
- "title": "Updated At"
+ "title": "Updated At",
+ "nullable": true
},
"webhook": {
"anyOf": [
{
"type": "boolean"
- },
- {
- "type": "null"
}
],
"title": "Webhook",
"description": "Can be used on the webhook endpoint",
- "default": false
+ "default": false,
+ "nullable": true
},
"endpoint_name": {
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Endpoint Name"
+ "title": "Endpoint Name",
+ "nullable": true
},
"tags": {
"anyOf": [
@@ -5541,48 +5385,40 @@
"type": "string"
},
"type": "array"
- },
- {
- "type": "null"
}
],
- "title": "Tags"
+ "title": "Tags",
+ "nullable": true
},
"locked": {
"anyOf": [
{
"type": "boolean"
- },
- {
- "type": "null"
}
],
"title": "Locked",
- "default": false
+ "default": false,
+ "nullable": true
},
"user_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
- },
- {
- "type": "null"
}
],
- "title": "User Id"
+ "title": "User Id",
+ "nullable": true
},
"folder_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
- },
- {
- "type": "null"
}
],
- "title": "Folder Id"
+ "title": "Folder Id",
+ "nullable": true
}
},
"type": "object",
@@ -5611,12 +5447,10 @@
"anyOf": [
{
"type": "object"
- },
- {
- "type": "null"
}
],
- "title": "Viewport"
+ "title": "Viewport",
+ "nullable": true
}
},
"type": "object",
@@ -5644,61 +5478,51 @@
{
"type": "string",
"format": "uuid"
- },
- {
- "type": "null"
}
],
"title": "Folder Id",
- "description": "The ID of the folder containing the flow. None if not associated with a folder"
+ "description": "The ID of the folder containing the flow. None if not associated with a folder",
+ "nullable": true
},
"is_component": {
"anyOf": [
{
"type": "boolean"
- },
- {
- "type": "null"
}
],
"title": "Is Component",
- "description": "Flag indicating whether the flow is a component"
+ "description": "Flag indicating whether the flow is a component",
+ "nullable": true
},
"endpoint_name": {
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
"title": "Endpoint Name",
- "description": "The name of the endpoint associated with this flow"
+ "description": "The name of the endpoint associated with this flow",
+ "nullable": true
},
"description": {
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
"title": "Description",
- "description": "A description of the flow"
+ "description": "A description of the flow",
+ "nullable": true
},
"data": {
"anyOf": [
{
"type": "object"
- },
- {
- "type": "null"
}
],
"title": "Data",
- "description": "The data of the component, if is_component is True"
+ "description": "The data of the component, if is_component is True",
+ "nullable": true
}
},
"type": "object",
@@ -5735,104 +5559,86 @@
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Description"
+ "title": "Description",
+ "nullable": true
},
"icon": {
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Icon"
+ "title": "Icon",
+ "nullable": true
},
"icon_bg_color": {
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Icon Bg Color"
+ "title": "Icon Bg Color",
+ "nullable": true
},
"gradient": {
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Gradient"
+ "title": "Gradient",
+ "nullable": true
},
"data": {
"anyOf": [
{
"type": "object"
- },
- {
- "type": "null"
}
],
- "title": "Data"
+ "title": "Data",
+ "nullable": true
},
"is_component": {
"anyOf": [
{
"type": "boolean"
- },
- {
- "type": "null"
}
],
"title": "Is Component",
- "default": false
+ "default": false,
+ "nullable": true
},
"updated_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
- },
- {
- "type": "null"
}
],
- "title": "Updated At"
+ "title": "Updated At",
+ "nullable": true
},
"webhook": {
"anyOf": [
{
"type": "boolean"
- },
- {
- "type": "null"
}
],
"title": "Webhook",
"description": "Can be used on the webhook endpoint",
- "default": false
+ "default": false,
+ "nullable": true
},
"endpoint_name": {
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Endpoint Name"
+ "title": "Endpoint Name",
+ "nullable": true
},
"tags": {
"anyOf": [
@@ -5841,24 +5647,20 @@
"type": "string"
},
"type": "array"
- },
- {
- "type": "null"
}
],
- "title": "Tags"
+ "title": "Tags",
+ "nullable": true
},
"locked": {
"anyOf": [
{
"type": "boolean"
- },
- {
- "type": "null"
}
],
"title": "Locked",
- "default": false
+ "default": false,
+ "nullable": true
},
"id": {
"type": "string",
@@ -5870,24 +5672,20 @@
{
"type": "string",
"format": "uuid"
- },
- {
- "type": "null"
}
],
- "title": "User Id"
+ "title": "User Id",
+ "nullable": true
},
"folder_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
- },
- {
- "type": "null"
}
],
- "title": "Folder Id"
+ "title": "Folder Id",
+ "nullable": true
}
},
"type": "object",
@@ -5905,68 +5703,56 @@
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Name"
+ "title": "Name",
+ "nullable": true
},
"description": {
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Description"
+ "title": "Description",
+ "nullable": true
},
"data": {
"anyOf": [
{
"type": "object"
- },
- {
- "type": "null"
}
],
- "title": "Data"
+ "title": "Data",
+ "nullable": true
},
"folder_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
- },
- {
- "type": "null"
}
],
- "title": "Folder Id"
+ "title": "Folder Id",
+ "nullable": true
},
"endpoint_name": {
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Endpoint Name"
+ "title": "Endpoint Name",
+ "nullable": true
},
"locked": {
"anyOf": [
{
"type": "boolean"
- },
- {
- "type": "null"
}
],
- "title": "Locked"
+ "title": "Locked",
+ "nullable": true
}
},
"type": "object",
@@ -5982,12 +5768,10 @@
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Description"
+ "title": "Description",
+ "nullable": true
},
"components_list": {
"anyOf": [
@@ -5997,12 +5781,10 @@
"format": "uuid"
},
"type": "array"
- },
- {
- "type": "null"
}
],
- "title": "Components List"
+ "title": "Components List",
+ "nullable": true
},
"flows_list": {
"anyOf": [
@@ -6012,12 +5794,10 @@
"format": "uuid"
},
"type": "array"
- },
- {
- "type": "null"
}
],
- "title": "Flows List"
+ "title": "Flows List",
+ "nullable": true
}
},
"type": "object",
@@ -6036,12 +5816,10 @@
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Description"
+ "title": "Description",
+ "nullable": true
},
"id": {
"type": "string",
@@ -6053,12 +5831,10 @@
{
"type": "string",
"format": "uuid"
- },
- {
- "type": "null"
}
],
- "title": "Parent Id"
+ "title": "Parent Id",
+ "nullable": true
}
},
"type": "object",
@@ -6079,12 +5855,10 @@
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Description"
+ "title": "Description",
+ "nullable": true
},
"id": {
"type": "string",
@@ -6096,12 +5870,10 @@
{
"type": "string",
"format": "uuid"
- },
- {
- "type": "null"
}
],
- "title": "Parent Id"
+ "title": "Parent Id",
+ "nullable": true
},
"flows": {
"items": {
@@ -6126,35 +5898,29 @@
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Name"
+ "title": "Name",
+ "nullable": true
},
"description": {
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Description"
+ "title": "Description",
+ "nullable": true
},
"parent_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
- },
- {
- "type": "null"
}
],
- "title": "Parent Id"
+ "title": "Parent Id",
+ "nullable": true
},
"components": {
"items": {
@@ -6202,56 +5968,46 @@
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Description"
+ "title": "Description",
+ "nullable": true
},
"icon": {
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Icon"
+ "title": "Icon",
+ "nullable": true
},
"is_input": {
"anyOf": [
{
"type": "boolean"
- },
- {
- "type": "null"
}
],
- "title": "Is Input"
+ "title": "Is Input",
+ "nullable": true
},
"is_output": {
"anyOf": [
{
"type": "boolean"
- },
- {
- "type": "null"
}
],
- "title": "Is Output"
+ "title": "Is Output",
+ "nullable": true
},
"is_composition": {
"anyOf": [
{
"type": "boolean"
- },
- {
- "type": "null"
}
],
- "title": "Is Composition"
+ "title": "Is Composition",
+ "nullable": true
},
"base_classes": {
"items": {
@@ -6269,13 +6025,11 @@
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
"title": "Display Name",
- "default": ""
+ "default": "",
+ "nullable": true
},
"documentation": {
"type": "string",
@@ -6291,12 +6045,10 @@
"anyOf": [
{
"type": "object"
- },
- {
- "type": "null"
}
],
- "title": "Custom Fields"
+ "title": "Custom Fields",
+ "nullable": true
},
"output_types": {
"items": {
@@ -6310,12 +6062,10 @@
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Full Path"
+ "title": "Full Path",
+ "nullable": true
},
"pinned": {
"type": "boolean",
@@ -6365,12 +6115,10 @@
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Error"
+ "title": "Error",
+ "nullable": true
},
"edited": {
"type": "boolean",
@@ -6405,56 +6153,46 @@
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Description"
+ "title": "Description",
+ "nullable": true
},
"icon": {
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Icon"
+ "title": "Icon",
+ "nullable": true
},
"is_input": {
"anyOf": [
{
"type": "boolean"
- },
- {
- "type": "null"
}
],
- "title": "Is Input"
+ "title": "Is Input",
+ "nullable": true
},
"is_output": {
"anyOf": [
{
"type": "boolean"
- },
- {
- "type": "null"
}
],
- "title": "Is Output"
+ "title": "Is Output",
+ "nullable": true
},
"is_composition": {
"anyOf": [
{
"type": "boolean"
- },
- {
- "type": "null"
}
],
- "title": "Is Composition"
+ "title": "Is Composition",
+ "nullable": true
},
"base_classes": {
"items": {
@@ -6486,12 +6224,10 @@
"anyOf": [
{
"type": "object"
- },
- {
- "type": "null"
}
],
- "title": "Custom Fields"
+ "title": "Custom Fields",
+ "nullable": true
},
"output_types": {
"items": {
@@ -6505,12 +6241,10 @@
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Full Path"
+ "title": "Full Path",
+ "nullable": true
},
"pinned": {
"type": "boolean",
@@ -6560,12 +6294,10 @@
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Error"
+ "title": "Error",
+ "nullable": true
},
"edited": {
"type": "boolean",
@@ -6661,23 +6393,19 @@
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Title"
+ "title": "Title",
+ "nullable": true
},
"icon": {
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Icon"
+ "title": "Icon",
+ "nullable": true
}
},
"type": "object",
@@ -6713,35 +6441,29 @@
"type": "string"
},
"type": "array"
- },
- {
- "type": "null"
}
],
"title": "Components",
- "default": []
+ "default": [],
+ "nullable": true
},
"input_value": {
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Input Value"
+ "title": "Input Value",
+ "nullable": true
},
"session": {
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Session"
+ "title": "Session",
+ "nullable": true
},
"type": {
"anyOf": [
@@ -6752,57 +6474,25 @@
"text",
"any"
]
- },
- {
- "type": "null"
}
],
"title": "Type",
"description": "Defines on which components the input value should be applied. 'any' applies to all input components.",
- "default": "any"
+ "default": "any",
+ "nullable": true
}
},
"additionalProperties": false,
"type": "object",
"title": "InputValueRequest",
- "examples": [
- {
- "components": [
- "components_id",
- "Component Name"
- ],
- "input_value": "input_value",
- "session": "session_id"
- },
- {
- "components": [
- "Component Name"
- ],
- "input_value": "input_value"
- },
- {
- "input_value": "input_value"
- },
- {
- "components": [
- "Component Name"
- ],
- "input_value": "input_value",
- "session": "session_id"
- },
- {
- "input_value": "input_value",
- "session": "session_id"
- },
- {
- "input_value": "input_value",
- "type": "chat"
- },
- {
- "input_value": "{\"key\": \"value\"}",
- "type": "json"
- }
- ]
+ "example": {
+ "components": [
+ "components_id",
+ "Component Name"
+ ],
+ "input_value": "input_value",
+ "session": "session_id"
+ }
},
"JSONContent": {
"type": "object"
@@ -6814,91 +6504,75 @@
{
"type": "string",
"format": "uuid"
- },
- {
- "type": "null"
}
],
- "title": "Id"
+ "title": "Id",
+ "nullable": true
},
"name": {
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Name"
+ "title": "Name",
+ "nullable": true
},
"description": {
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Description"
+ "title": "Description",
+ "nullable": true
},
"liked_by_count": {
"anyOf": [
{
"type": "integer"
- },
- {
- "type": "null"
}
],
- "title": "Liked By Count"
+ "title": "Liked By Count",
+ "nullable": true
},
"liked_by_user": {
"anyOf": [
{
"type": "boolean"
- },
- {
- "type": "null"
}
],
- "title": "Liked By User"
+ "title": "Liked By User",
+ "nullable": true
},
"is_component": {
"anyOf": [
{
"type": "boolean"
- },
- {
- "type": "null"
}
],
- "title": "Is Component"
+ "title": "Is Component",
+ "nullable": true
},
"metadata": {
"anyOf": [
{
"type": "object"
- },
- {
- "type": "null"
}
],
"title": "Metadata",
- "default": {}
+ "default": {},
+ "nullable": true
},
"user_created": {
"anyOf": [
{
"type": "object"
- },
- {
- "type": "null"
}
],
"title": "User Created",
- "default": {}
+ "default": {},
+ "nullable": true
},
"tags": {
"anyOf": [
@@ -6907,45 +6581,37 @@
"$ref": "#/components/schemas/TagResponse"
},
"type": "array"
- },
- {
- "type": "null"
}
],
- "title": "Tags"
+ "title": "Tags",
+ "nullable": true
},
"downloads_count": {
"anyOf": [
{
"type": "integer"
- },
- {
- "type": "null"
}
],
- "title": "Downloads Count"
+ "title": "Downloads Count",
+ "nullable": true
},
"last_tested_version": {
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Last Tested Version"
+ "title": "Last Tested Version",
+ "nullable": true
},
"private": {
"anyOf": [
{
"type": "boolean"
- },
- {
- "type": "null"
}
],
- "title": "Private"
+ "title": "Private",
+ "nullable": true
}
},
"type": "object",
@@ -6957,13 +6623,11 @@
"anyOf": [
{
"type": "integer"
- },
- {
- "type": "null"
}
],
"title": "Count",
- "default": 0
+ "default": 0,
+ "nullable": true
},
"authorized": {
"type": "boolean",
@@ -6976,12 +6640,10 @@
"$ref": "#/components/schemas/ListComponentResponse"
},
"type": "array"
- },
- {
- "type": "null"
}
],
- "title": "Results"
+ "title": "Results",
+ "nullable": true
}
},
"type": "object",
@@ -7023,12 +6685,10 @@
},
{
"$ref": "#/components/schemas/PlaygroundEvent"
- },
- {
- "type": "null"
}
],
- "title": "Message"
+ "title": "Message",
+ "nullable": true
},
"type": {
"type": "string",
@@ -7111,12 +6771,10 @@
{
"type": "string",
"format": "uuid"
- },
- {
- "type": "null"
}
],
- "title": "Flow Id"
+ "title": "Flow Id",
+ "nullable": true
}
},
"type": "object",
@@ -7140,24 +6798,20 @@
{
"type": "string",
"format": "uuid"
- },
- {
- "type": "null"
}
],
- "title": "Id"
+ "title": "Id",
+ "nullable": true
},
"flow_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
- },
- {
- "type": "null"
}
],
- "title": "Flow Id"
+ "title": "Flow Id",
+ "nullable": true
},
"timestamp": {
"type": "string",
@@ -7196,22 +6850,18 @@
"anyOf": [
{
"$ref": "#/components/schemas/Properties"
- },
- {
- "type": "null"
}
- ]
+ ],
+ "nullable": true
},
"category": {
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Category"
+ "title": "Category",
+ "nullable": true
},
"content_blocks": {
"anyOf": [
@@ -7220,12 +6870,10 @@
"$ref": "#/components/schemas/ContentBlock"
},
"type": "array"
- },
- {
- "type": "null"
}
],
- "title": "Content Blocks"
+ "title": "Content Blocks",
+ "nullable": true
}
},
"type": "object",
@@ -7244,45 +6892,37 @@
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Text"
+ "title": "Text",
+ "nullable": true
},
"sender": {
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Sender"
+ "title": "Sender",
+ "nullable": true
},
"sender_name": {
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Sender Name"
+ "title": "Sender Name",
+ "nullable": true
},
"session_id": {
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Session Id"
+ "title": "Session Id",
+ "nullable": true
},
"files": {
"anyOf": [
@@ -7291,44 +6931,36 @@
"type": "string"
},
"type": "array"
- },
- {
- "type": "null"
}
],
- "title": "Files"
+ "title": "Files",
+ "nullable": true
},
"edit": {
"anyOf": [
{
"type": "boolean"
- },
- {
- "type": "null"
}
],
- "title": "Edit"
+ "title": "Edit",
+ "nullable": true
},
"error": {
"anyOf": [
{
"type": "boolean"
- },
- {
- "type": "null"
}
],
- "title": "Error"
+ "title": "Error",
+ "nullable": true
},
"properties": {
"anyOf": [
{
"$ref": "#/components/schemas/Properties"
- },
- {
- "type": "null"
}
- ]
+ ],
+ "nullable": true
}
},
"type": "object",
@@ -7403,12 +7035,10 @@
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Selected"
+ "title": "Selected",
+ "nullable": true
},
"name": {
"type": "string",
@@ -7419,44 +7049,36 @@
"anyOf": [
{
"type": "boolean"
- },
- {
- "type": "null"
}
],
- "title": "Hidden"
+ "title": "Hidden",
+ "nullable": true
},
"display_name": {
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Display Name"
+ "title": "Display Name",
+ "nullable": true
},
"method": {
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Method"
+ "title": "Method",
+ "nullable": true
},
"value": {
"anyOf": [
- {},
- {
- "type": "null"
- }
+ {}
],
"title": "Value",
- "default": "__UNDEFINED__"
+ "default": "__UNDEFINED__",
+ "nullable": true
},
"cache": {
"type": "boolean",
@@ -7470,12 +7092,15 @@
"type": "string"
},
"type": "array"
- },
- {
- "type": "null"
}
],
- "title": "Required Inputs"
+ "title": "Required Inputs",
+ "nullable": true
+ },
+ "allows_loop": {
+ "type": "boolean",
+ "title": "Allows Loop",
+ "default": false
}
},
"type": "object",
@@ -7533,48 +7158,40 @@
{
"type": "integer",
"minimum": 0.0
- },
- {
- "type": "null"
}
],
- "title": "Total"
+ "title": "Total",
+ "nullable": true
},
"page": {
"anyOf": [
{
"type": "integer",
"minimum": 1.0
- },
- {
- "type": "null"
}
],
- "title": "Page"
+ "title": "Page",
+ "nullable": true
},
"size": {
"anyOf": [
{
"type": "integer",
"minimum": 1.0
- },
- {
- "type": "null"
}
],
- "title": "Size"
+ "title": "Size",
+ "nullable": true
},
"pages": {
"anyOf": [
{
"type": "integer",
"minimum": 0.0
- },
- {
- "type": "null"
}
],
- "title": "Pages"
+ "title": "Pages",
+ "nullable": true
}
},
"type": "object",
@@ -7600,48 +7217,40 @@
{
"type": "integer",
"minimum": 0.0
- },
- {
- "type": "null"
}
],
- "title": "Total"
+ "title": "Total",
+ "nullable": true
},
"page": {
"anyOf": [
{
"type": "integer",
"minimum": 1.0
- },
- {
- "type": "null"
}
],
- "title": "Page"
+ "title": "Page",
+ "nullable": true
},
"size": {
"anyOf": [
{
"type": "integer",
"minimum": 1.0
- },
- {
- "type": "null"
}
],
- "title": "Size"
+ "title": "Size",
+ "nullable": true
},
"pages": {
"anyOf": [
{
"type": "integer",
"minimum": 0.0
- },
- {
- "type": "null"
}
],
- "title": "Pages"
+ "title": "Pages",
+ "nullable": true
}
},
"type": "object",
@@ -7667,48 +7276,40 @@
{
"type": "integer",
"minimum": 0.0
- },
- {
- "type": "null"
}
],
- "title": "Total"
+ "title": "Total",
+ "nullable": true
},
"page": {
"anyOf": [
{
"type": "integer",
"minimum": 1.0
- },
- {
- "type": "null"
}
],
- "title": "Page"
+ "title": "Page",
+ "nullable": true
},
"size": {
"anyOf": [
{
"type": "integer",
"minimum": 1.0
- },
- {
- "type": "null"
}
],
- "title": "Size"
+ "title": "Size",
+ "nullable": true
},
"pages": {
"anyOf": [
{
"type": "integer",
"minimum": 0.0
- },
- {
- "type": "null"
}
],
- "title": "Pages"
+ "title": "Pages",
+ "nullable": true
}
},
"type": "object",
@@ -7726,22 +7327,18 @@
"anyOf": [
{
"$ref": "#/components/schemas/Properties"
- },
- {
- "type": "null"
}
- ]
+ ],
+ "nullable": true
},
"sender_name": {
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Sender Name"
+ "title": "Sender Name",
+ "nullable": true
},
"content_blocks": {
"anyOf": [
@@ -7750,12 +7347,10 @@
"$ref": "#/components/schemas/ContentBlock"
},
"type": "array"
- },
- {
- "type": "null"
}
],
- "title": "Content Blocks"
+ "title": "Content Blocks",
+ "nullable": true
},
"format_type": {
"type": "string",
@@ -7775,23 +7370,19 @@
"type": "string"
},
"type": "array"
- },
- {
- "type": "null"
}
],
- "title": "Files"
+ "title": "Files",
+ "nullable": true
},
"text": {
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Text"
+ "title": "Text",
+ "nullable": true
},
"timestamp": {
"type": "string",
@@ -7805,12 +7396,10 @@
},
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Id"
+ "title": "Id",
+ "nullable": true
}
},
"additionalProperties": true,
@@ -7846,11 +7435,9 @@
"anyOf": [
{
"$ref": "#/components/schemas/FrontendNodeRequest-Output"
- },
- {
- "type": "null"
}
- ]
+ ],
+ "nullable": true
}
},
"type": "object",
@@ -7865,23 +7452,19 @@
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Text Color"
+ "title": "Text Color",
+ "nullable": true
},
"background_color": {
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Background Color"
+ "title": "Background Color",
+ "nullable": true
},
"edited": {
"type": "boolean",
@@ -7895,12 +7478,10 @@
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Icon"
+ "title": "Icon",
+ "nullable": true
},
"allow_markdown": {
"type": "boolean",
@@ -7911,12 +7492,10 @@
"anyOf": [
{
"type": "boolean"
- },
- {
- "type": "null"
}
],
- "title": "Positive Feedback"
+ "title": "Positive Feedback",
+ "nullable": true
},
"state": {
"type": "string",
@@ -7941,43 +7520,35 @@
"properties": {
"results": {
"anyOf": [
- {},
- {
- "type": "null"
- }
+ {}
],
- "title": "Results"
+ "title": "Results",
+ "nullable": true
},
"artifacts": {
"anyOf": [
- {},
- {
- "type": "null"
- }
+ {}
],
- "title": "Artifacts"
+ "title": "Artifacts",
+ "nullable": true
},
"outputs": {
"anyOf": [
{
"type": "object"
- },
- {
- "type": "null"
}
],
- "title": "Outputs"
+ "title": "Outputs",
+ "nullable": true
},
"logs": {
"anyOf": [
{
"type": "object"
- },
- {
- "type": "null"
}
],
- "title": "Logs"
+ "title": "Logs",
+ "nullable": true
},
"messages": {
"anyOf": [
@@ -7986,156 +7557,63 @@
"$ref": "#/components/schemas/ChatOutputResponse"
},
"type": "array"
- },
- {
- "type": "null"
}
],
- "title": "Messages"
+ "title": "Messages",
+ "nullable": true
},
"timedelta": {
"anyOf": [
{
"type": "number"
- },
- {
- "type": "null"
}
],
- "title": "Timedelta"
+ "title": "Timedelta",
+ "nullable": true
},
"duration": {
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Duration"
+ "title": "Duration",
+ "nullable": true
},
"component_display_name": {
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Component Display Name"
+ "title": "Component Display Name",
+ "nullable": true
},
"component_id": {
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Component Id"
+ "title": "Component Id",
+ "nullable": true
},
"used_frozen_result": {
"anyOf": [
{
"type": "boolean"
- },
- {
- "type": "null"
}
],
"title": "Used Frozen Result",
- "default": false
+ "default": false,
+ "nullable": true
}
},
"type": "object",
"title": "ResultData"
},
"ResultDataResponse": {
- "properties": {
- "results": {
- "anyOf": [
- {},
- {
- "type": "null"
- }
- ],
- "title": "Results"
- },
- "outputs": {
- "additionalProperties": {
- "$ref": "#/components/schemas/OutputValue"
- },
- "type": "object",
- "title": "Outputs"
- },
- "logs": {
- "additionalProperties": {
- "items": {
- "$ref": "#/components/schemas/Log"
- },
- "type": "array"
- },
- "type": "object",
- "title": "Logs"
- },
- "message": {
- "anyOf": [
- {},
- {
- "type": "null"
- }
- ],
- "title": "Message"
- },
- "artifacts": {
- "anyOf": [
- {},
- {
- "type": "null"
- }
- ],
- "title": "Artifacts"
- },
- "timedelta": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "title": "Timedelta"
- },
- "duration": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "title": "Duration"
- },
- "used_frozen_result": {
- "anyOf": [
- {
- "type": "boolean"
- },
- {
- "type": "null"
- }
- ],
- "title": "Used Frozen Result",
- "default": false
- }
- },
- "type": "object",
- "title": "ResultDataResponse"
+ "type": "object"
},
"RunOutputs": {
"properties": {
@@ -8148,11 +7626,9 @@
"anyOf": [
{
"$ref": "#/components/schemas/ResultData"
- },
- {
- "type": "null"
}
- ]
+ ],
+ "nullable": true
},
"type": "array",
"title": "Outputs"
@@ -8170,24 +7646,20 @@
"$ref": "#/components/schemas/RunOutputs"
},
"type": "array"
- },
- {
- "type": "null"
}
],
"title": "Outputs",
- "default": []
+ "default": [],
+ "nullable": true
},
"session_id": {
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Session Id"
+ "title": "Session Id",
+ "nullable": true
}
},
"type": "object",
@@ -8200,13 +7672,11 @@
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
"title": "Input Value",
- "description": "The input value"
+ "description": "The input value",
+ "nullable": true
},
"input_type": {
"anyOf": [
@@ -8217,14 +7687,12 @@
"text",
"any"
]
- },
- {
- "type": "null"
}
],
"title": "Input Type",
"description": "The input type",
- "default": "chat"
+ "default": "chat",
+ "nullable": true
},
"output_type": {
"anyOf": [
@@ -8236,50 +7704,42 @@
"any",
"debug"
]
- },
- {
- "type": "null"
}
],
"title": "Output Type",
"description": "The output type",
- "default": "chat"
+ "default": "chat",
+ "nullable": true
},
"output_component": {
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
"title": "Output Component",
"description": "If there are multiple output components, you can specify the component to get the output from.",
- "default": ""
+ "default": "",
+ "nullable": true
},
"tweaks": {
"anyOf": [
{
"$ref": "#/components/schemas/Tweaks"
- },
- {
- "type": "null"
}
],
- "description": "The tweaks"
+ "description": "The tweaks",
+ "nullable": true
},
"session_id": {
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
"title": "Session Id",
- "description": "The session id"
+ "description": "The session id",
+ "nullable": true
}
},
"type": "object",
@@ -8291,37 +7751,31 @@
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
"title": "Id",
- "description": "The id of the source component."
+ "description": "The id of the source component.",
+ "nullable": true
},
"display_name": {
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
"title": "Display Name",
- "description": "The display name of the source component."
+ "description": "The display name of the source component.",
+ "nullable": true
},
"source": {
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
"title": "Source",
- "description": "The source of the message. Normally used to display the model name (e.g. 'gpt-4o')"
+ "description": "The source of the message. Normally used to display the model name (e.g. 'gpt-4o')",
+ "nullable": true
}
},
"type": "object",
@@ -8348,12 +7802,10 @@
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Name"
+ "title": "Name",
+ "nullable": true
},
"output_types": {
"items": {
@@ -8376,12 +7828,10 @@
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Description"
+ "title": "Description",
+ "nullable": true
},
"data": {
"type": "object",
@@ -8394,58 +7844,48 @@
"type": "string"
},
"type": "array"
- },
- {
- "type": "null"
}
],
- "title": "Tags"
+ "title": "Tags",
+ "nullable": true
},
"parent": {
"anyOf": [
{
"type": "string",
"format": "uuid"
- },
- {
- "type": "null"
}
],
- "title": "Parent"
+ "title": "Parent",
+ "nullable": true
},
"is_component": {
"anyOf": [
{
"type": "boolean"
- },
- {
- "type": "null"
}
],
- "title": "Is Component"
+ "title": "Is Component",
+ "nullable": true
},
"last_tested_version": {
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Last Tested Version"
+ "title": "Last Tested Version",
+ "nullable": true
},
"private": {
"anyOf": [
{
"type": "boolean"
- },
- {
- "type": "null"
}
],
"title": "Private",
- "default": true
+ "default": true,
+ "nullable": true
}
},
"type": "object",
@@ -8482,12 +7922,10 @@
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Name"
+ "title": "Name",
+ "nullable": true
}
},
"type": "object",
@@ -8514,12 +7952,10 @@
"type": "string"
},
"type": "array"
- },
- {
- "type": "null"
}
],
- "title": "Inputtypes"
+ "title": "Inputtypes",
+ "nullable": true
},
"type": {
"type": "string",
@@ -8543,12 +7979,10 @@
},
"result": {
"anyOf": [
- {},
- {
- "type": "null"
- }
+ {}
],
- "title": "Result"
+ "title": "Result",
+ "nullable": true
}
},
"type": "object",
@@ -8602,22 +8036,13 @@
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Target Id"
+ "title": "Target Id",
+ "nullable": true
},
"inputs": {
- "anyOf": [
- {
- "type": "object"
- },
- {
- "type": "null"
- }
- ],
+ "type": "object",
"title": "Inputs"
},
"outputs": {
@@ -8632,12 +8057,10 @@
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Error"
+ "title": "Error",
+ "nullable": true
},
"flow_id": {
"type": "string",
@@ -8649,12 +8072,10 @@
{
"type": "string",
"format": "uuid"
- },
- {
- "type": "null"
}
],
- "title": "Id"
+ "title": "Id",
+ "nullable": true
}
},
"type": "object",
@@ -8679,17 +8100,15 @@
"type": "object",
"title": "Tweaks",
"description": "A dictionary of tweaks to adjust the flow's execution. Allows customizing flow behavior dynamically. All tweaks are overridden by the input values.",
- "examples": [
- {
- "Component Name": {
- "parameter_name": "value"
- },
- "component_id": {
- "parameter_name": "value"
- },
+ "example": {
+ "Component Name": {
"parameter_name": "value"
- }
- ]
+ },
+ "component_id": {
+ "parameter_name": "value"
+ },
+ "parameter_name": "value"
+ }
},
"UnmaskedApiKeyRead": {
"properties": {
@@ -8697,24 +8116,20 @@
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Name"
+ "title": "Name",
+ "nullable": true
},
"last_used_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
- },
- {
- "type": "null"
}
],
- "title": "Last Used At"
+ "title": "Last Used At",
+ "nullable": true
},
"total_uses": {
"type": "integer",
@@ -8759,12 +8174,10 @@
"anyOf": [
{
"type": "object"
- },
- {
- "type": "null"
}
],
- "title": "Frontend Node"
+ "title": "Frontend Node",
+ "nullable": true
},
"field": {
"type": "string",
@@ -8790,12 +8203,10 @@
{
"items": {},
"type": "array"
- },
- {
- "type": "null"
}
],
- "title": "Field Value"
+ "title": "Field Value",
+ "nullable": true
},
"template": {
"type": "object",
@@ -8868,23 +8279,19 @@
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Profile Image"
+ "title": "Profile Image",
+ "nullable": true
},
"store_api_key": {
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Store Api Key"
+ "title": "Store Api Key",
+ "nullable": true
},
"is_active": {
"type": "boolean",
@@ -8909,12 +8316,10 @@
{
"type": "string",
"format": "date-time"
- },
- {
- "type": "null"
}
],
- "title": "Last Login At"
+ "title": "Last Login At",
+ "nullable": true
}
},
"type": "object",
@@ -8936,68 +8341,56 @@
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Username"
+ "title": "Username",
+ "nullable": true
},
"profile_image": {
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Profile Image"
+ "title": "Profile Image",
+ "nullable": true
},
"password": {
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Password"
+ "title": "Password",
+ "nullable": true
},
"is_active": {
"anyOf": [
{
"type": "boolean"
- },
- {
- "type": "null"
}
],
- "title": "Is Active"
+ "title": "Is Active",
+ "nullable": true
},
"is_superuser": {
"anyOf": [
{
"type": "boolean"
- },
- {
- "type": "null"
}
],
- "title": "Is Superuser"
+ "title": "Is Superuser",
+ "nullable": true
},
"last_login_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
- },
- {
- "type": "null"
}
],
- "title": "Last Login At"
+ "title": "Last Login At",
+ "nullable": true
}
},
"type": "object",
@@ -9009,23 +8402,19 @@
"anyOf": [
{
"type": "integer"
- },
- {
- "type": "null"
}
],
- "title": "Likes Count"
+ "title": "Likes Count",
+ "nullable": true
},
"liked_by_user": {
"anyOf": [
{
"type": "boolean"
- },
- {
- "type": "null"
}
],
- "title": "Liked By User"
+ "title": "Liked By User",
+ "nullable": true
}
},
"type": "object",
@@ -9070,22 +8459,18 @@
"anyOf": [
{
"type": "object"
- },
- {
- "type": "null"
}
],
- "title": "Custom Fields"
+ "title": "Custom Fields",
+ "nullable": true
},
"frontend_node": {
"anyOf": [
{
"$ref": "#/components/schemas/FrontendNodeRequest-Input"
- },
- {
- "type": "null"
}
- ]
+ ],
+ "nullable": true
}
},
"type": "object",
@@ -9147,50 +8532,42 @@
"type": "string"
},
"type": "array"
- },
- {
- "type": "null"
}
],
- "title": "Default Fields"
+ "title": "Default Fields",
+ "nullable": true
},
"type": {
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
"title": "Type",
- "description": "Type of the variable"
+ "description": "Type of the variable",
+ "nullable": true
},
"created_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
- },
- {
- "type": "null"
}
],
"title": "Created At",
- "description": "Creation time of the variable"
+ "description": "Creation time of the variable",
+ "nullable": true
},
"updated_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
- },
- {
- "type": "null"
}
],
"title": "Updated At",
- "description": "Creation time of the variable"
+ "description": "Creation time of the variable",
+ "nullable": true
}
},
"type": "object",
@@ -9212,37 +8589,31 @@
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
"title": "Name",
- "description": "Name of the variable"
+ "description": "Name of the variable",
+ "nullable": true
},
"type": {
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
"title": "Type",
- "description": "Type of the variable"
+ "description": "Type of the variable",
+ "nullable": true
},
"value": {
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
"title": "Value",
- "description": "Encrypted value of the variable"
+ "description": "Encrypted value of the variable",
+ "nullable": true
},
"default_fields": {
"anyOf": [
@@ -9251,13 +8622,11 @@
"type": "string"
},
"type": "array"
- },
- {
- "type": "null"
}
],
"title": "Default Fields",
- "description": "Default fields for the variable"
+ "description": "Default fields for the variable",
+ "nullable": true
}
},
"type": "object",
@@ -9277,25 +8646,21 @@
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
"title": "Name",
- "description": "Name of the variable"
+ "description": "Name of the variable",
+ "nullable": true
},
"value": {
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
"title": "Value",
- "description": "Encrypted value of the variable"
+ "description": "Encrypted value of the variable",
+ "nullable": true
},
"default_fields": {
"anyOf": [
@@ -9304,13 +8669,11 @@
"type": "string"
},
"type": "array"
- },
- {
- "type": "null"
}
],
"title": "Default Fields",
- "description": "Default fields for the variable"
+ "description": "Default fields for the variable",
+ "nullable": true
}
},
"type": "object",
@@ -9344,12 +8707,10 @@
"anyOf": [
{
"type": "string"
- },
- {
- "type": "null"
}
],
- "title": "Id"
+ "title": "Id",
+ "nullable": true
},
"inactivated_vertices": {
"anyOf": [
@@ -9358,12 +8719,10 @@
"type": "string"
},
"type": "array"
- },
- {
- "type": "null"
}
],
- "title": "Inactivated Vertices"
+ "title": "Inactivated Vertices",
+ "nullable": true
},
"next_vertices_ids": {
"anyOf": [
@@ -9372,12 +8731,10 @@
"type": "string"
},
"type": "array"
- },
- {
- "type": "null"
}
],
- "title": "Next Vertices Ids"
+ "title": "Next Vertices Ids",
+ "nullable": true
},
"top_level_vertices": {
"anyOf": [
@@ -9386,12 +8743,10 @@
"type": "string"
},
"type": "array"
- },
- {
- "type": "null"
}
],
- "title": "Top Level Vertices"
+ "title": "Top Level Vertices",
+ "nullable": true
},
"valid": {
"type": "boolean",
@@ -9399,12 +8754,10 @@
},
"params": {
"anyOf": [
- {},
- {
- "type": "null"
- }
+ {}
],
- "title": "Params"
+ "title": "Params",
+ "nullable": true
},
"data": {
"type": "object"
@@ -9414,12 +8767,10 @@
{
"type": "string",
"format": "date-time"
- },
- {
- "type": "null"
}
],
- "title": "Timestamp"
+ "title": "Timestamp",
+ "nullable": true
}
},
"type": "object",
@@ -9466,12 +8817,10 @@
{
"type": "string",
"format": "uuid"
- },
- {
- "type": "null"
}
],
- "title": "Build Id"
+ "title": "Build Id",
+ "nullable": true
}
},
"type": "object",
diff --git a/docs/sidebars.js b/docs/sidebars.js
index f0604de71..dd02a6cf3 100644
--- a/docs/sidebars.js
+++ b/docs/sidebars.js
@@ -3,7 +3,7 @@ module.exports = {
"Get-Started/welcome-to-langflow",
{
type: "category",
- label: "Get Started",
+ label: "Get started",
items: [
"Get-Started/get-started-installation",
"Get-Started/get-started-quickstart",
@@ -11,7 +11,7 @@ module.exports = {
},
{
type: "category",
- label: "Starter Projects",
+ label: "Starter projects",
items: [
'Starter-Projects/starter-projects-basic-prompting',
'Starter-Projects/starter-projects-vector-store-rag',
@@ -25,6 +25,7 @@ module.exports = {
'Tutorials/tutorials-blog-writer',
'Tutorials/tutorials-document-qa',
'Tutorials/tutorials-memory-chatbot',
+ 'Tutorials/tutorials-math-agent',
'Tutorials/tutorials-sequential-agent',
'Tutorials/tutorials-travel-planning-agent',
],
@@ -37,6 +38,7 @@ module.exports = {
"Concepts/concepts-playground",
"Concepts/concepts-components",
"Concepts/concepts-flows",
+ "Concepts/concepts-objects",
"Concepts/concepts-api",
],
},
@@ -79,7 +81,6 @@ module.exports = {
"Configuration/configuration-cli",
"Configuration/configuration-global-variables",
"Configuration/environment-variables",
- "Configuration/configuration-objects",
"Configuration/configuration-security-best-practices"
],
},
@@ -137,7 +138,7 @@ module.exports = {
},
{
type: "category",
- label: "API Reference",
+ label: "API reference",
items: [
{
type: "doc",
@@ -151,5 +152,16 @@ module.exports = {
},
],
},
+ {
+ type: "category",
+ label: "Changelog",
+ items: [
+ {
+ type: "link",
+ label: "Changelog",
+ href: "https://github.com/langflow-ai/langflow/releases/latest",
+ },
+ ],
+ },
],
};
diff --git a/docs/static/img/connect-component.png b/docs/static/img/connect-component.png
index 72e72237f..f76f20d3b 100644
Binary files a/docs/static/img/connect-component.png and b/docs/static/img/connect-component.png differ
diff --git a/docs/static/img/connect-handles.png b/docs/static/img/connect-handles.png
index 442dc6750..bf1180438 100644
Binary files a/docs/static/img/connect-handles.png and b/docs/static/img/connect-handles.png differ
diff --git a/docs/static/img/langflow-astradb-component.png b/docs/static/img/langflow-astradb-component.png
index b28edac45..aa772aac5 100644
Binary files a/docs/static/img/langflow-astradb-component.png and b/docs/static/img/langflow-astradb-component.png differ
diff --git a/docs/static/img/loop-text-summarizer.png b/docs/static/img/loop-text-summarizer.png
new file mode 100644
index 000000000..bae75f62d
Binary files /dev/null and b/docs/static/img/loop-text-summarizer.png differ
diff --git a/docs/static/img/messages-logs.png b/docs/static/img/messages-logs.png
index 72421ad9d..356e79b6e 100644
Binary files a/docs/static/img/messages-logs.png and b/docs/static/img/messages-logs.png differ
diff --git a/docs/static/img/openai-model-component.png b/docs/static/img/openai-model-component.png
index b83a2b175..3c1145dca 100644
Binary files a/docs/static/img/openai-model-component.png and b/docs/static/img/openai-model-component.png differ
diff --git a/docs/static/img/quickstart-add-document-ingestion.png b/docs/static/img/quickstart-add-document-ingestion.png
index c86cae967..9bda4458d 100644
Binary files a/docs/static/img/quickstart-add-document-ingestion.png and b/docs/static/img/quickstart-add-document-ingestion.png differ
diff --git a/docs/static/img/quickstart-basic-prompt-no-connections.png b/docs/static/img/quickstart-basic-prompt-no-connections.png
index a1083e5d8..f767d008c 100644
Binary files a/docs/static/img/quickstart-basic-prompt-no-connections.png and b/docs/static/img/quickstart-basic-prompt-no-connections.png differ
diff --git a/docs/static/img/starter-flow-basic-prompting.png b/docs/static/img/starter-flow-basic-prompting.png
index bd94efbff..29b87cb79 100644
Binary files a/docs/static/img/starter-flow-basic-prompting.png and b/docs/static/img/starter-flow-basic-prompting.png differ
diff --git a/docs/static/img/starter-flow-blog-writer.png b/docs/static/img/starter-flow-blog-writer.png
index d1fdd667b..ef2efba8c 100644
Binary files a/docs/static/img/starter-flow-blog-writer.png and b/docs/static/img/starter-flow-blog-writer.png differ
diff --git a/docs/static/img/starter-flow-document-qa.png b/docs/static/img/starter-flow-document-qa.png
index 7b3cfd167..819f07ba0 100644
Binary files a/docs/static/img/starter-flow-document-qa.png and b/docs/static/img/starter-flow-document-qa.png differ
diff --git a/docs/static/img/starter-flow-memory-chatbot.png b/docs/static/img/starter-flow-memory-chatbot.png
index 11f2bf746..9c29df455 100644
Binary files a/docs/static/img/starter-flow-memory-chatbot.png and b/docs/static/img/starter-flow-memory-chatbot.png differ
diff --git a/docs/static/img/starter-flow-sequential-agent.png b/docs/static/img/starter-flow-sequential-agent.png
index 16c848137..989bc10b7 100644
Binary files a/docs/static/img/starter-flow-sequential-agent.png and b/docs/static/img/starter-flow-sequential-agent.png differ
diff --git a/docs/static/img/starter-flow-simple-agent-repl.png b/docs/static/img/starter-flow-simple-agent-repl.png
new file mode 100644
index 000000000..e6799c12d
Binary files /dev/null and b/docs/static/img/starter-flow-simple-agent-repl.png differ
diff --git a/docs/static/img/starter-flow-simple-agent.png b/docs/static/img/starter-flow-simple-agent.png
index e6799c12d..064dbb963 100644
Binary files a/docs/static/img/starter-flow-simple-agent.png and b/docs/static/img/starter-flow-simple-agent.png differ
diff --git a/docs/static/img/starter-flow-travel-agent.png b/docs/static/img/starter-flow-travel-agent.png
index b4af6aa10..3a1c84953 100644
Binary files a/docs/static/img/starter-flow-travel-agent.png and b/docs/static/img/starter-flow-travel-agent.png differ
diff --git a/docs/static/img/starter-flow-unstructured-qa.png b/docs/static/img/starter-flow-unstructured-qa.png
index c90ae58c3..631038cdf 100644
Binary files a/docs/static/img/starter-flow-unstructured-qa.png and b/docs/static/img/starter-flow-unstructured-qa.png differ
diff --git a/docs/static/img/starter-flow-vector-rag.png b/docs/static/img/starter-flow-vector-rag.png
index 8a9144fea..d7830a641 100644
Binary files a/docs/static/img/starter-flow-vector-rag.png and b/docs/static/img/starter-flow-vector-rag.png differ
diff --git a/docs/static/img/tool-calling-agent-add-chat.png b/docs/static/img/tool-calling-agent-add-chat.png
index 2bb08ff68..e9817f82c 100644
Binary files a/docs/static/img/tool-calling-agent-add-chat.png and b/docs/static/img/tool-calling-agent-add-chat.png differ
diff --git a/docs/static/img/tool-calling-agent-add-tools.png b/docs/static/img/tool-calling-agent-add-tools.png
index 3e13e7132..1435b252e 100644
Binary files a/docs/static/img/tool-calling-agent-add-tools.png and b/docs/static/img/tool-calling-agent-add-tools.png differ
diff --git a/docs/static/img/tool-calling-agent-as-tool.png b/docs/static/img/tool-calling-agent-as-tool.png
index e3e7d3498..73c5a72d8 100644
Binary files a/docs/static/img/tool-calling-agent-as-tool.png and b/docs/static/img/tool-calling-agent-as-tool.png differ
diff --git a/docs/static/img/tool-calling-agent-component.png b/docs/static/img/tool-calling-agent-component.png
index 6b86c4673..f6e8c5e39 100644
Binary files a/docs/static/img/tool-calling-agent-component.png and b/docs/static/img/tool-calling-agent-component.png differ
diff --git a/docs/static/img/url-component.png b/docs/static/img/url-component.png
index 1a26605c5..a0e9733cc 100644
Binary files a/docs/static/img/url-component.png and b/docs/static/img/url-component.png differ
diff --git a/docs/static/img/vector-store-agent-retrieval-tool.png b/docs/static/img/vector-store-agent-retrieval-tool.png
index 5a4112018..d8aaa4915 100644
Binary files a/docs/static/img/vector-store-agent-retrieval-tool.png and b/docs/static/img/vector-store-agent-retrieval-tool.png differ
diff --git a/docs/static/img/vector-store-document-ingestion.png b/docs/static/img/vector-store-document-ingestion.png
index 886d3927a..8157dc699 100644
Binary files a/docs/static/img/vector-store-document-ingestion.png and b/docs/static/img/vector-store-document-ingestion.png differ
diff --git a/docs/static/img/vector-store-retrieval.png b/docs/static/img/vector-store-retrieval.png
index 6fa36fcc8..132ba25a0 100644
Binary files a/docs/static/img/vector-store-retrieval.png and b/docs/static/img/vector-store-retrieval.png differ
diff --git a/docs/static/img/workspace-basic-prompting.png b/docs/static/img/workspace-basic-prompting.png
index bcdf45766..d9530c4c9 100644
Binary files a/docs/static/img/workspace-basic-prompting.png and b/docs/static/img/workspace-basic-prompting.png differ