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§
Sourcefn metadata(&self) -> ProviderMetadata
fn metadata(&self) -> ProviderMetadata
Static provider metadata for contract negotiation and logging.
Sourcefn capabilities(
&self,
request: CapabilitiesRequest,
) -> ProviderResult<CapabilitiesResponse>
fn capabilities( &self, request: CapabilitiesRequest, ) -> ProviderResult<CapabilitiesResponse>
Return provider capabilities and feature switches.
Sourcefn healthcheck(
&self,
request: HealthcheckRequest,
) -> ProviderResult<HealthcheckResponse>
fn healthcheck( &self, request: HealthcheckRequest, ) -> ProviderResult<HealthcheckResponse>
Probe provider readiness.
Sourcefn execute(&self, request: ExecuteRequest) -> ProviderResult<ExecuteResponse>
fn execute(&self, request: ExecuteRequest) -> ProviderResult<ExecuteResponse>
Execute a provider-defined task payload.
Sourcefn limits(&self, request: LimitsRequest) -> ProviderResult<LimitsResponse>
fn limits(&self, request: LimitsRequest) -> ProviderResult<LimitsResponse>
Report execution/auth/rate guardrails.
Sourcefn auth_state(
&self,
request: AuthStateRequest,
) -> ProviderResult<AuthStateResponse>
fn auth_state( &self, request: AuthStateRequest, ) -> ProviderResult<AuthStateResponse>
Report current authentication state.
Provided Methods§
Sourcefn capabilities_envelope(
&self,
request: CapabilitiesRequest,
) -> ProviderEnvelope<CapabilitiesResponse>
fn capabilities_envelope( &self, request: CapabilitiesRequest, ) -> ProviderEnvelope<CapabilitiesResponse>
Wrap capabilities result into the normalized response envelope.
Sourcefn healthcheck_envelope(
&self,
request: HealthcheckRequest,
) -> ProviderEnvelope<HealthcheckResponse>
fn healthcheck_envelope( &self, request: HealthcheckRequest, ) -> ProviderEnvelope<HealthcheckResponse>
Wrap healthcheck result into the normalized response envelope.
Sourcefn execute_envelope(
&self,
request: ExecuteRequest,
) -> ProviderEnvelope<ExecuteResponse>
fn execute_envelope( &self, request: ExecuteRequest, ) -> ProviderEnvelope<ExecuteResponse>
Wrap execute result into the normalized response envelope.
Sourcefn limits_envelope(
&self,
request: LimitsRequest,
) -> ProviderEnvelope<LimitsResponse>
fn limits_envelope( &self, request: LimitsRequest, ) -> ProviderEnvelope<LimitsResponse>
Wrap limits result into the normalized response envelope.
Sourcefn auth_state_envelope(
&self,
request: AuthStateRequest,
) -> ProviderEnvelope<AuthStateResponse>
fn auth_state_envelope( &self, request: AuthStateRequest, ) -> ProviderEnvelope<AuthStateResponse>
Wrap auth-state result into the normalized response envelope.