Resolves between agent-facing robot name strings and robot modules.
Robot names are derived from the last segment of the module name, lowercased.
MyApp.WX200 -> "wx200"
MyApp.SO101 -> "so101"
MyApp.Robot -> "robot"
MyApp.Two.Word -> "two_word" (only when the segment is itself camel-cased,
e.g. `MyApp.TwoWord` -> "two_word")
Summary
Functions
Build a name → module map from a list of robot modules, raising on collisions.
Look up a robot module by name. Returns {:ok, module} or {:error, :unknown_robot}.
The agent-facing name for a robot module.
List all configured robots as {name, module} tuples, sorted by name.
Types
Functions
Build a name → module map from a list of robot modules, raising on collisions.
Look up a robot module by name. Returns {:ok, module} or {:error, :unknown_robot}.
The agent-facing name for a robot module.
List all configured robots as {name, module} tuples, sorted by name.