Skip to main content

ProviderAdapterV1

Trait ProviderAdapterV1 

Source
pub trait ProviderAdapterV1: Send + Sync {
    // Required methods
    fn metadata(&self) -> ProviderMetadata;
    fn capabilities(
        &self,
        request: CapabilitiesRequest,
    ) -> ProviderResult<CapabilitiesResponse>;
    fn healthcheck(
        &self,
        request: HealthcheckRequest,
    ) -> ProviderResult<HealthcheckResponse>;
    fn execute(
        &self,
        request: ExecuteRequest,
    ) -> ProviderResult<ExecuteResponse>;
    fn limits(&self, request: LimitsRequest) -> ProviderResult<LimitsResponse>;
    fn auth_state(
        &self,
        request: AuthStateRequest,
    ) -> ProviderResult<AuthStateResponse>;

    // Provided methods
    fn capabilities_envelope(
        &self,
        request: CapabilitiesRequest,
    ) -> ProviderEnvelope<CapabilitiesResponse> { ... }
    fn healthcheck_envelope(
        &self,
        request: HealthcheckRequest,
    ) -> ProviderEnvelope<HealthcheckResponse> { ... }
    fn execute_envelope(
        &self,
        request: ExecuteRequest,
    ) -> ProviderEnvelope<ExecuteResponse> { ... }
    fn limits_envelope(
        &self,
        request: LimitsRequest,
    ) -> ProviderEnvelope<LimitsResponse> { ... }
    fn auth_state_envelope(
        &self,
        request: AuthStateRequest,
    ) -> ProviderEnvelope<AuthStateResponse> { ... }
}
Expand description

Provider adapter contract version v1.

Implementors provide the five normalized adapter surfaces and return typed results that are later wrapped into uniform envelopes for machine consumers.

Required Methods§

Source

fn metadata(&self) -> ProviderMetadata

Static provider metadata for contract negotiation and logging.

Source

fn capabilities( &self, request: CapabilitiesRequest, ) -> ProviderResult<CapabilitiesResponse>

Return provider capabilities and feature switches.

Source

fn healthcheck( &self, request: HealthcheckRequest, ) -> ProviderResult<HealthcheckResponse>

Probe provider readiness.

Source

fn execute(&self, request: ExecuteRequest) -> ProviderResult<ExecuteResponse>

Execute a provider-defined task payload.

Source

fn limits(&self, request: LimitsRequest) -> ProviderResult<LimitsResponse>

Report execution/auth/rate guardrails.

Source

fn auth_state( &self, request: AuthStateRequest, ) -> ProviderResult<AuthStateResponse>

Report current authentication state.

Provided Methods§

Source

fn capabilities_envelope( &self, request: CapabilitiesRequest, ) -> ProviderEnvelope<CapabilitiesResponse>

Wrap capabilities result into the normalized response envelope.

Source

fn healthcheck_envelope( &self, request: HealthcheckRequest, ) -> ProviderEnvelope<HealthcheckResponse>

Wrap healthcheck result into the normalized response envelope.

Source

fn execute_envelope( &self, request: ExecuteRequest, ) -> ProviderEnvelope<ExecuteResponse>

Wrap execute result into the normalized response envelope.

Source

fn limits_envelope( &self, request: LimitsRequest, ) -> ProviderEnvelope<LimitsResponse>

Wrap limits result into the normalized response envelope.

Source

fn auth_state_envelope( &self, request: AuthStateRequest, ) -> ProviderEnvelope<AuthStateResponse>

Wrap auth-state result into the normalized response envelope.

Implementors§