Documentation
¶
Overview ¶
Package conditional provides conditional branching node factory for registry integration.
Package conditional provides conditional branching node implementation for workflow graph execution.
Index ¶
- Constants
- func NewConditionalNodeFactory() protocol.NodeFactory
- type ConditionalNode
- func (n *ConditionalNode) Execute(ctx models.ExecutionContext, inputs map[string]models.NodeResult) (map[string]models.NodeResult, error)
- func (n *ConditionalNode) ID() string
- func (n *ConditionalNode) InputPorts() []models.InputPort
- func (n *ConditionalNode) OutputPorts() []models.OutputPort
- func (n *ConditionalNode) Type() string
- func (n *ConditionalNode) Validate(config map[string]any) error
- type ConditionalNodeFactory
- func (f *ConditionalNodeFactory) Create(ctx context.Context, id string, config map[string]any) (protocol.Node, error)
- func (f *ConditionalNodeFactory) Description() string
- func (f *ConditionalNodeFactory) ID() string
- func (f *ConditionalNodeFactory) Name() string
- func (f *ConditionalNodeFactory) Schema() map[string]any
Constants ¶
const ( OutputPortTrue = "true" OutputPortFalse = "false" OutputPortError = "error" InputPortMain = "main" )
Variables ¶
This section is empty.
Functions ¶
func NewConditionalNodeFactory ¶
func NewConditionalNodeFactory() protocol.NodeFactory
NewConditionalNodeFactory creates a new factory instance.
Types ¶
type ConditionalNode ¶
type ConditionalNode struct {
// contains filtered or unexported fields
}
ConditionalNode implements the Node interface for conditional branching This is a key control flow node that enables different execution paths.
func NewConditionalNode ¶
func NewConditionalNode(id string, config map[string]any) (*ConditionalNode, error)
NewConditionalNode creates a new conditional branching node.
func (*ConditionalNode) Execute ¶
func (n *ConditionalNode) Execute(ctx models.ExecutionContext, inputs map[string]models.NodeResult) (map[string]models.NodeResult, error)
Execute evaluates the condition and routes to true/false output ports.
func (*ConditionalNode) InputPorts ¶
func (n *ConditionalNode) InputPorts() []models.InputPort
InputPorts returns the input ports for the node.
func (*ConditionalNode) OutputPorts ¶
func (n *ConditionalNode) OutputPorts() []models.OutputPort
OutputPorts returns the output ports for the node.
type ConditionalNodeFactory ¶
type ConditionalNodeFactory struct{}
ConditionalNodeFactory creates ConditionalNode instances.
func (*ConditionalNodeFactory) Create ¶
func (f *ConditionalNodeFactory) Create(ctx context.Context, id string, config map[string]any) (protocol.Node, error)
Create creates a new ConditionalNode instance.
func (*ConditionalNodeFactory) Description ¶
func (f *ConditionalNodeFactory) Description() string
Description returns the factory description.
func (*ConditionalNodeFactory) ID ¶
func (f *ConditionalNodeFactory) ID() string
ID returns the factory ID.
func (*ConditionalNodeFactory) Name ¶
func (f *ConditionalNodeFactory) Name() string
Name returns the factory name.
func (*ConditionalNodeFactory) Schema ¶
func (f *ConditionalNodeFactory) Schema() map[string]any
Schema returns the JSON schema for Conditional node configuration.