pub enum Command {
Show 14 variants
Serve,
Tokens {
op: TokenOp,
},
Accounts {
op: AccountOp,
},
Providers {
op: ProviderOp,
},
Clients {
op: ClientOp,
},
With(WithArgs),
Configure(ConfigureArgs),
Server {
op: ServerOp,
},
Auth {
op: AuthOp,
},
Usage(UsageArgs),
Deploy(DeployArgs),
Doctor {
target: AuthTarget,
},
Tls {
op: TlsOp,
},
Logs {
op: LogsOp,
},
}Expand description
Subcommands.
Variants§
Serve
Start the HTTP server (default if no subcommand given).
Tokens
Token-management subcommands.
Acts on the selected server when there is one: the deployment answers
these over its admin API, so managing a remote router’s tokens no
longer means ssh or a hand-written curl (issues #293, #294).
Accounts
Account-management subcommands.
Acts on the selected server when there is one (issue #294).
Providers
Provider-management subcommands.
Acts on the selected server when there is one (issue #294).
Fields
op: ProviderOpClients
Inspect and manage local agentic CLI configuration.
router configure <client> is the command for pointing a client at the
router; these read and remove what is there (issue #296).
With(WithArgs)
Launch an agentic CLI against this router with a safe client profile.
Claude defaults to a persistent Router-owned profile; other clients keep their documented extension or profile behavior (issue #536).
Everything after the client name is passed to the client verbatim; router options go before it (issue #299).
Configure(ConfigureArgs)
Point a client at the router permanently.
One name, one targeting rule and one reversal for what used to be two
commands that disagreed on the address, the credential, the undo
mechanism and the client list (issue #296). clients setup and
with --global still work.
Server
Select and manage the server used by with.
Auth
Obtain or inspect vendor subscription credentials.
Usage(UsageArgs)
Show remaining limits for subscriptions available to a client token.
Deploy(DeployArgs)
Bring a containerised Router up locally, ready for router with.
Converges rather than runs: each step first checks whether the desired state already holds, reports what it found, and only then acts, so re-running is cheap and safe and a converged deployment changes nothing (issue #570). Acts on the machine it runs on.
Doctor
Print environment + config diagnostics.
Reports on the machine it runs on, so it stays local: the files, config and credentials it inspects are this machine’s. With another router selected it says so and names it rather than describing local state as though it were the target (issue #294).
Fields
target: AuthTargetTls
TLS certificate management for a self-signed deployment.
Logs
Summarise the request log and flag anomalies.
The log is the router’s only record of what actually happened, and it had to be read with one-liners invented on the spot — which produced confident wrong answers in both directions (issue #234).
Trait Implementations§
Source§impl FromArgMatches for Command
impl FromArgMatches for Command
Source§fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
Source§fn from_arg_matches_mut(
__clap_arg_matches: &mut ArgMatches,
) -> Result<Self, Error>
fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, ) -> Result<Self, Error>
Source§fn update_from_arg_matches(
&mut self,
__clap_arg_matches: &ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Source§fn update_from_arg_matches_mut<'b>(
&mut self,
__clap_arg_matches: &mut ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches_mut<'b>( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Source§impl Subcommand for Command
impl Subcommand for Command
Source§fn augment_subcommands<'b>(__clap_app: Command) -> Command
fn augment_subcommands<'b>(__clap_app: Command) -> Command
Source§fn augment_subcommands_for_update<'b>(__clap_app: Command) -> Command
fn augment_subcommands_for_update<'b>(__clap_app: Command) -> Command
Command so it can instantiate self via
FromArgMatches::update_from_arg_matches_mut Read moreSource§fn has_subcommand(__clap_name: &str) -> bool
fn has_subcommand(__clap_name: &str) -> bool
Self can parse a specific subcommandAuto Trait Implementations§
impl Freeze for Command
impl RefUnwindSafe for Command
impl Send for Command
impl Sync for Command
impl Unpin for Command
impl UnsafeUnpin for Command
impl UnwindSafe for Command
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more