Struct XaiFlow
pub struct XaiFlow;Trait Implementations§
Source§impl AuthProviderFlow for XaiFlow
impl AuthProviderFlow for XaiFlow
Source§fn login<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
ctx: &'life1 AuthFlowContext<'life2>,
profile: &'life3 str,
device_code: bool,
import: Option<&'life4 Path>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
XaiFlow: 'async_trait,
fn login<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
ctx: &'life1 AuthFlowContext<'life2>,
profile: &'life3 str,
device_code: bool,
import: Option<&'life4 Path>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
XaiFlow: 'async_trait,
Run the OAuth login flow. The default impl bails — only providers
with an OAuth login flow override.
import is a path to an
existing token-set JSON file for providers that support importing
already-issued credentials (OpenAI Codex ~/.codex/auth.json).Source§fn paste_redirect<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
ctx: &'life1 AuthFlowContext<'life2>,
profile: &'life3 str,
input: Option<&'life4 str>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
XaiFlow: 'async_trait,
fn paste_redirect<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
ctx: &'life1 AuthFlowContext<'life2>,
profile: &'life3 str,
input: Option<&'life4 str>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
XaiFlow: 'async_trait,
Resume an OAuth login from a paste-redirect URL/code. The default
impl bails for providers that don’t expose a browser flow.
Source§fn refresh_status<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
ctx: &'life1 AuthFlowContext<'life2>,
profile_override: Option<&'life3 str>,
) -> Pin<Box<dyn Future<Output = Result<RefreshStatus, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
XaiFlow: 'async_trait,
fn refresh_status<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
ctx: &'life1 AuthFlowContext<'life2>,
profile_override: Option<&'life3 str>,
) -> Pin<Box<dyn Future<Output = Result<RefreshStatus, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
XaiFlow: 'async_trait,
Refresh the access token for
profile_override (or active
profile) and report status. Default impl bails for providers
without a refresh flow.Auto Trait Implementations§
impl Freeze for XaiFlow
impl RefUnwindSafe for XaiFlow
impl Send for XaiFlow
impl Sync for XaiFlow
impl Unpin for XaiFlow
impl UnsafeUnpin for XaiFlow
impl UnwindSafe for XaiFlow
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> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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>
Converts
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>
Converts
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