Expand description
Shared type definitions for the CLI
This module contains type definitions that are shared across multiple layers of the CLI (commands, handlers, services).
§Organization
- cli: CLI command types (Clap Args, Commands enum)
- credentials: Authentication credentials types
- project: Project configuration types (mecha10.json)
- simulation: Simulation configuration types (runtime and project-level)
§Design Principles
- Domain-focused: Types represent domain concepts, not CLI concerns
- Shared: Only types used in multiple places belong here
- Serializable: Most types derive Serialize/Deserialize
- Well-documented: All public types have rustdoc comments
Re-exports§
Modules§
- cli
- CLI type definitions
- credentials
- project
- simulation
Structs§
- Credentials
- Stored credentials for authenticated user
- Device
Code Response - Response from device code request
- Environment
Config - Configuration for a specific environment
- Environments
Config - Environment-specific configuration
- Logging
Config - Logging configuration for a single environment (
environments.<env>.logging). - Node
Spec - Parsed node specification from namespaced string format
- Nodes
Config - Nodes configuration - map of node identifiers to versions
- Project
Config - Turn
Config - Resolved TURN server config: relay URL + credentials for a TURN entry in a WebRTC ICE server
list. Kept as a standalone type here (rather than reusing
mecha10_video::webrtc::connection::TurnServerConfig) sincemecha10-cli-coreintentionally doesn’t depend onmecha10-video-mecha10-videoand the nodes that embed it (camera,video-streamer) are meant to stay lightweight for robot binaries, the same “minimal dependencies” rationalemecha10-node-resolverdocuments for inlining its own copy ofDEFAULT_MECHA10_API_URLinstead of depending on this crate.
Enums§
- Auth
Error - Error types for authentication operations
- Device
Code Status - Status of a device code authorization
- Node
Source - Node source type based on namespace prefix
Functions§
- load_
project_ config - Load full project config from mecha10.json
- turn_
config - Resolve TURN server config, highest priority first: