DSL entity for executing BB commands in a Reactor.
The command entity wraps BB.Reactor.Step.Command with a cleaner syntax
and automatic dependency handling.
Example
command :move do
command :move_to_pose
argument :target, input(:target_pose)
timeout 30_000
compensate :return_home
end
Summary
Types
@type t() :: %BB.Reactor.Dsl.Command{ __identifier__: any(), __spark_metadata__: Spark.Dsl.Entity.spark_meta(), arguments: [Reactor.Dsl.Argument.t()], async?: boolean(), command: atom(), compensate: atom() | nil, description: String.t() | nil, guards: [Reactor.Dsl.Where.t() | Reactor.Dsl.Guard.t()], max_retries: non_neg_integer(), name: atom(), timeout: pos_integer() | :infinity, transform: nil | (any() -> any()) }