/** * `agenticros robots` — manage the multi-robot fleet config. * * Subactions: * list / show / ls Print configured robots + their online status (default). * discover / scan Live-discover robots on the wire, offer to add unknown ones. * add [id] Add a robot to config.robots[] (interactive when id omitted). * Flags: --name, --namespace, --camera, --default, * --transport=, --transport-json=. * remove / rm Remove a robot from config.robots[]. * set-default Mark a robot as the active default. * profile show [id] Print the hardware profile for a robot. * profile infer [id] Draft a profile from kind/camera/sensors; print JSON. * Pass --apply to write it. * * All mutations target `~/.agenticros/config.json`. The legacy single-robot * `config.robot` is automatically promoted into `config.robots[]` on the first * multi-robot write — see `util/robot-config.ts` for the exact rules. * * Live discovery is delegated to the `ros2_discover_robots` MCP tool via a * subprocess to the agenticros-claude-code server. That keeps this CLI small * (no `@agenticros/core` import) AND ensures the user sees the same robots * the AI agent sees. */ export interface RobotsOptions { action?: string; arg?: string; extra?: string; /** --name (used by `add` to set the display name non-interactively) */ name?: string; /** --namespace (used by `add` to set the ROS2 namespace non-interactively) */ namespace?: string; /** --camera (used by `add` to set the default camera topic non-interactively) */ camera?: string; /** --default (used by `add` to mark the new entry as default non-interactively) */ default?: boolean; /** --kind (Phase 1.e — sets robot.kind, e.g. "amr" | "arm" | "drone") */ kind?: string; /** * --sensors= (Phase 1.e — sensor tags). Parsed by * `parseSensorsCsv`: comma-separated entries, prefix with '!' to set * false. Recognized keys: has_realsense, has_lidar, has_arm. */ sensors?: string; /** * --capabilities= (Phase 1.e — per-robot capability allowlist). * Empty string ("") clears the field so the robot reverts to the * gateway-wide registry. */ capabilities?: string; /** --features= (profile features, e.g. base,camera,depth) */ features?: string; /** Repeatable --binding key=/topic */ bindings?: string[]; /** --apply (used by `profile infer` to write the draft) */ apply?: boolean; /** --transport= (used by `add` / `set-transport` to apply a per-robot override) */ transport?: string; /** --transport-json= (used by `add` / `set-transport` for non-shorthand overrides) */ transportJson?: string; } export declare function robotsCommand(opts: RobotsOptions): Promise; //# sourceMappingURL=robots.d.ts.map