pub trait WeftExtensions: Send + Sync {
// Required methods
fn auth<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
ctx: &'life1 (dyn CliContext + 'static),
command: &'life2 (dyn Any + Send + Sync),
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
fn support<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
ctx: &'life1 (dyn CliContext + 'static),
command: &'life2 (dyn Any + Send + Sync),
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
fn presence_publish<'life0, 'life1, 'async_trait>(
&'life0 self,
ctx: &'life1 (dyn CliContext + 'static),
session: String,
interval_secs: u64,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
}Expand description
Hosted-side command implementations. The CLI dispatches through a
&dyn WeftExtensions reference; the active impl is selected at
build time by the heddle-client Cargo feature.
Implementations take CLI args opaquely (&dyn Any) so this shim
crate doesn’t need to depend on cli for type definitions —
downstream concrete impls downcast to the real types. This avoids
a circular dependency between cli (which defines Cli,
AuthCommands, etc.) and the heddle-client crate.
Required Methods§
Sourcefn auth<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
ctx: &'life1 (dyn CliContext + 'static),
command: &'life2 (dyn Any + Send + Sync),
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn auth<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
ctx: &'life1 (dyn CliContext + 'static),
command: &'life2 (dyn Any + Send + Sync),
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
heddle auth <subcommand> — login, logout, whoami, device
authorization, service account issuance.
Sourcefn support<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
ctx: &'life1 (dyn CliContext + 'static),
command: &'life2 (dyn Any + Send + Sync),
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn support<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
ctx: &'life1 (dyn CliContext + 'static),
command: &'life2 (dyn Any + Send + Sync),
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
heddle support <subcommand> — hosted-side support and
diagnostic operations.
Sourcefn presence_publish<'life0, 'life1, 'async_trait>(
&'life0 self,
ctx: &'life1 (dyn CliContext + 'static),
session: String,
interval_secs: u64,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn presence_publish<'life0, 'life1, 'async_trait>(
&'life0 self,
ctx: &'life1 (dyn CliContext + 'static),
session: String,
interval_secs: u64,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
heddle presence publish — stream presence/heartbeat over the
websocket transport to the hosted backend.