pub enum CliLoginStdin {
Pipe(ChildStdin),
Pty(Box<dyn Write + Send>),
}Expand description
Stdin handle for an in-progress CLI login, regardless of whether
it was spawned via plain pipes or via a PTY. set_provider_auth
writes the OAuth code / pasted token here.
Variants§
Pipe(ChildStdin)
Plain pipe — tokio::process::Command with Stdio::piped().
AsyncWrite via tokio. Used by Claude, Codex, Gemini, Copilot,
Kimi — anything that doesn’t strictly require a TTY for its
auth subcommand.
Pty(Box<dyn Write + Send>)
PTY writer — portable_pty master writer. Sync std::io::Write.
Used by providers whose auth subcommand bails on isatty()==0
(currently OpenClaw’s openclaw models auth login).
Implementations§
Source§impl CliLoginStdin
impl CliLoginStdin
Sourcepub async fn write_line(&mut self, line: &str) -> Result<()>
pub async fn write_line(&mut self, line: &str) -> Result<()>
Write a line (terminated with \n) to the child’s stdin. Used
by set_provider_auth to deliver an OAuth code.
Auto Trait Implementations§
impl Freeze for CliLoginStdin
impl !RefUnwindSafe for CliLoginStdin
impl Send for CliLoginStdin
impl !Sync for CliLoginStdin
impl Unpin for CliLoginStdin
impl !UnwindSafe for CliLoginStdin
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
Mutably borrows from an owned value. Read more
§impl<T, U> ConvertReturnValue<U> for Twhere
T: Into<U>,
impl<T, U> ConvertReturnValue<U> for Twhere
T: Into<U>,
fn wrap_result(self) -> U
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
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.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.