The State node is a crucial component in Sequential Agent flows, providing a centralized state object that can be updated and passed between nodes in the graph.
Name: seqState
Type: State
Category: Sequential Agents
Version: 2.0
The State node has one main input parameter:
Users can define the structure of the state object using either a table-based UI or custom code.
Type: Data Grid
Description: Allows users to define the state structure using a table interface.
Columns:
Key: The name of the state variable
Operation: The type of operation to perform (Replace or Append)
Default Value: The initial value for the state variable
Type: Code Input
Description: Allows users to define the state structure using a JSON object
Default:
The node initializes a state object based on the user’s input.
For each key in the state:
If the operation is “Replace”, it creates a function that replaces the existing value with a new one (or keeps the existing if the new is null).
If the operation is “Append”, it creates a function that appends the new value to the existing array.
The node can handle both UI-based input and code-based input, allowing for flexibility in defining the state structure.
The node outputs an ISeqAgentNode
object containing:
id
: The node’s unique identifier
node
: The state object with defined keys and their corresponding update functions
name
: ‘state’
label
: ‘state’
type
: ‘state’
output
: START (a constant from @langchain/langgraph)
Maintaining conversation history in a chatbot
Tracking progress through a multi-step process
Aggregating information from multiple API calls or data sources
Storing intermediate results in complex workflows
The node uses a sandbox environment (NodeVM) to safely execute user-provided code when using the code-based input option.
It supports both built-in and external dependencies, which can be configured through environment variables.
The state object is highly flexible and can be customized to fit various use cases in sequential agent flows.