Serializable construction event used to rebuild a workflow from its log.
Executable components use closure; nested workflows use a versioned
workflow_definition that retains their boundary ports and child build log.
input_ports and output_ports retain contracts applied outside the source
expression that originally constructed an executable component.
The source and bindings fields remain as a compatibility path for older
component events.
Summary
Types
@type t() :: %Runic.Workflow.ComponentAdded{ bindings: map(), closure: Runic.Closure.t() | nil, connections: [Runic.Workflow.Connection.t()] | nil, hash: term(), input_ports: keyword() | nil, name: String.t() | atom(), output_ports: keyword() | nil, source: term() | nil, to: term(), workflow_definition: Runic.Workflow.Definition.t() | nil }