Skip to main content

SpnClient

Struct SpnClient 

Source
pub struct SpnClient { /* private fields */ }
Expand description

Client for communicating with the spn daemon.

The client uses Unix socket IPC to communicate with the daemon, which handles all keychain access to avoid repeated auth prompts.

Implementations§

Source§

impl SpnClient

Source

pub async fn connect() -> Result<Self, Error>

Connect to the spn daemon.

Returns an error if the daemon is not running.

Source

pub async fn connect_to(socket_path: &PathBuf) -> Result<Self, Error>

Connect to the daemon at a specific socket path.

Source

pub async fn connect_with_fallback() -> Result<Self, Error>

Connect to the daemon, falling back to env vars if daemon is unavailable.

This is the recommended way to connect in applications that should work even without the daemon running.

Source

pub fn is_fallback_mode(&self) -> bool

Check if the client is in fallback mode (daemon not connected).

Source

pub async fn ping(&mut self) -> Result<String, Error>

Ping the daemon to verify the connection.

Source

pub async fn get_secret( &mut self, provider: &str, ) -> Result<SecretString, Error>

Get a secret for the given provider.

In fallback mode, attempts to read from the environment variable associated with the provider (e.g., ANTHROPIC_API_KEY).

Source

pub async fn has_secret(&mut self, provider: &str) -> Result<bool, Error>

Check if a secret exists for the given provider.

Source

pub async fn list_providers(&mut self) -> Result<Vec<String>, Error>

List all available providers.

Trait Implementations§

Source§

impl Debug for SpnClient

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more