pub struct OpenAIChatGptSession {
pub openai_api_key: String,
pub id_token: String,
pub access_token: String,
pub refresh_token: String,
pub account_id: Option<String>,
pub email: Option<String>,
pub plan: Option<String>,
pub obtained_at: u64,
pub refreshed_at: u64,
pub expires_at: Option<u64>,
}Expand description
Stored OpenAI ChatGPT subscription session.
Fields§
§openai_api_key: StringExchanged OpenAI bearer token used for normal API calls when available. If unavailable, VT Code falls back to the OAuth access token.
id_token: StringOAuth ID token from the sign-in flow.
access_token: StringOAuth access token from the sign-in flow.
refresh_token: StringRefresh token used to renew the session.
account_id: Option<String>ChatGPT workspace/account identifier, if present.
email: Option<String>Account email, if present.
plan: Option<String>ChatGPT plan type, if present.
obtained_at: u64When the session was originally created.
refreshed_at: u64When the OAuth/API-key exchange was last refreshed.
expires_at: Option<u64>Access-token expiry, if supplied by the authority.
Implementations§
Source§impl OpenAIChatGptSession
impl OpenAIChatGptSession
pub fn is_refresh_due(&self) -> bool
Trait Implementations§
Source§impl Clone for OpenAIChatGptSession
impl Clone for OpenAIChatGptSession
Source§fn clone(&self) -> OpenAIChatGptSession
fn clone(&self) -> OpenAIChatGptSession
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for OpenAIChatGptSession
impl Debug for OpenAIChatGptSession
Source§impl<'de> Deserialize<'de> for OpenAIChatGptSession
impl<'de> Deserialize<'de> for OpenAIChatGptSession
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<OpenAIChatGptSession, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<OpenAIChatGptSession, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Serialize for OpenAIChatGptSession
impl Serialize for OpenAIChatGptSession
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
Auto Trait Implementations§
impl Freeze for OpenAIChatGptSession
impl RefUnwindSafe for OpenAIChatGptSession
impl Send for OpenAIChatGptSession
impl Sync for OpenAIChatGptSession
impl Unpin for OpenAIChatGptSession
impl UnsafeUnpin for OpenAIChatGptSession
impl UnwindSafe for OpenAIChatGptSession
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
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