Default
Default
In-browser search
Settings
Attach to an agent's plugins: list with a per-agent config map.
use Jido.Agent ,
name : "my_robot" ,
plugins : [ { BB.Jido.Plugin.Robot , %{ robot : MyRobot } } ] Config Key Type Required Default Description :robotmodule()yes — The Beam Bots robot module :topics[[atom()]]no [[:state_machine]]PubSub paths the bridge subscribes to :message_types[module()]no []Payload modules to filter on ([] = no filter) :throttle_mspos_integer()no nilMinimum interval between same-type signals
State The plugin owns the agent's :robot state slice:
Field Type Initial Description :robotmodule()the configured robot Mirror of config[:robot] for convenience :safety_stateatom():unknownCached safety state; updated when a bb.state.transition signal arrives :last_joint_statemap()%{}Reserved for joint-state caching (not yet populated)
Built-in actions Child processes The plugin's child_spec/1 returns one supervised child:
Child Type :idRestart BB.Jido.PubSubBridge:worker{BB.Jido.Plugin.Robot, :pub_sub_bridge, robot}:transient
The bridge is mounted by the plugin, but you can also start it directly
under a different supervisor if you want PubSub-to-Signal forwarding
without an agent.
{ :ok , bridge } =
BB.Jido.PubSubBridge . start_link (
robot : MyRobot ,
agent : agent_pid_or_name ,
topics : [ [ :state_machine ] ]
) Option Type Required Default Description :robotmodule()yes — Robot module to subscribe against :agentGenServer.server()yes — Where to cast signals (pid, registered name, via-tuple) :topics[[atom()]]no [[:state_machine]]PubSub paths :message_types[module()]no []Payload filter :throttle_mspos_integer()no nilSame-type throttle in ms :nameGenServer.name()no — Standard GenServer.start_link option
All standard GenServer.start_link options (:timeout, :debug,
:spawn_opt, :hibernate_after) are also accepted.
Action schemas Each action's :schema is documented below using [type:, required:, default:]
notation matching the NimbleOptions format that Jido.Action accepts.
Param Type Required Default :robot:atom✓ — :command:atom✓ — :goal:map%{}:timeout:pos_integer30_000
Param Type Required Default :robot:atom✓ — :reactor:atom✓ — :inputs:map%{}
Param Type Required Default :robot:atom✓ — :target:atom✓ — :timeout:pos_integer30_000
Param Type Required Default :robot:atom✓ —